DJH23/aumeo
GitHub: DJH23/aumeo
该仓库提供已停服 Aumeo Audio 应用的修补方案,解决设备因服务器关闭而无法使用的问题。
Stars: 0 | Forks: 0
# Aumeo Audio — 修补版配套应用
**ULTRASONE Aumeo Audio 配套 Android 应用(v1.0.0 Beta 2)的反编译并修补后的源代码。**
[Aumeo Audio](https://web.archive.org/web/2018*/aumeo.audio) 是一款个人听力配置文件设备,可夹在耳机线缆上,基于每只耳朵的听力测试实时均衡音频。该公司(Acecomm Group / Moshi Audio)已关闭并带走了注册服务器。没有服务器,官方应用将无法运行,导致仍在使用的设备变砖。
本仓库包含完整的 apktool 反编译 Smali 源代码,并应用了可在现代 Android 设备上**无需任何服务器依赖**恢复功能的补丁。
## 应用补丁
### 1. 注册 / 登录绕过
应用原本需要创建账户并登录 `api.aumeo.audio`(现已失效)。补丁将其修改为完全跳过注册/登录流程,直接进入主活动。
**文件:** `LoginActivity.smali`, `RegisterActivity.smali`, `SplashActivity.smali`
### 2. Android 12+ 的蓝牙 LE 权限
Android 12(API 31)引入了运行时权限 `BLUETOOTH_CONNECT` 和 `BLUETOOTH_SCAN`。原应用发布于此前,在扫描/连接时会崩溃。补丁修改为:
- 在清单中声明 `BLUETOOTH_CONNECT` 和 `BLUETOOTH_SCAN`,并移除 `android:maxSdkVersion`
- 在 BLE 操作前请求这些权限
**文件:** `AndroidManifest.xml`, `AumeoDeviceFinderActivity.smali`, `AumeoControlSyncService.smali`
### 3. 本地音调生成(AudioTrack)
听力测试需要在特定频率和音量下播放纯音。原应用发送 `0xF5` BLE 命令让 Aumeo 硬件生成音调,但在许多设备/固件版本上会产生无声。补丁改为:
- 在 `writeCommand()` 中拦截发出的 `0xF5` 音调命令
- 解析频率索引、音量与耳侧字节
- 通过 `android.media.AudioTrack` 本地生成相位正确的正弦波
- 应用平滑的淡入/淡出包络以消除点击声
- 收到停止命令(音量 = 0)时干净地停止播放
这是最大的单一补丁:新增 `TonePlayer` 辅助类并钩住中央 BLE 写入路径。
**文件:** `AumeoControlSyncService.smali`, `AumeoTestSectionActivity.smali`, `AumeoTestSectionActivity$AppHandler.smali`
### 4. 50 Hz 右耳偏移一位修正
原代码在选择 50 Hz 测试频率的耳侧时存在比较错误。`if-le`(≤)应为 `if-lt`(<),导致右耳 50 Hz 音调被发送到错误通道。
**文件:** `AumeoTestSectionActivity$AppHandler.smali`
### 5. 配置文件图表 — 10 个频率波段
结果图表原本硬编码为显示 8 个频率波段。Aumeo 实际测试 10 个波段(50 Hz–16 kHz)。补丁修改图表渲染器以显示全部 10 个。
**文件:** `ProfileChartView.smali`
### 6. VerifyError 修复
多个类因异常处理中的寄存器类型冲突以及缺少 move-result 指令,在现代 ART 运行时触发 `java.lang.VerifyError`。每个问题均在 Smali 层面修复。
**文件:** `AumeoTestSectionActivity$*.smali` 中的各类内部类 Smali 文件
## 仓库结构
```
├── AndroidManifest.xml # Patched manifest (BLE permissions added)
├── apktool.yml # apktool build metadata
├── smali/ # Full decompiled Dalvik bytecode
│ └── com/acecommgroup/aumeocsrcompanionapp/
│ ├── AumeoControlSyncService.smali # BLE comms + tone intercept
│ ├── AumeoTestSectionActivity*.smali # Hearing test UI + handlers
│ ├── AumeoDeviceFinderActivity.smali # BLE scan + permissions
│ └── ...
├── res/ # Android resources (layouts, drawables, etc.)
├── original/ # Original unmodified metadata
└── README.md
```
## 构建
1. **重新编译** 使用 [apktool](https://apktool.org/):
apktool b /path/to/this/repo -o aumeo_patched.apk
2. **对齐:**
zipalign -v 4 aumeo_patched.apk aumeo_aligned.apk
3. **签名**(调试密钥或自签名):
apksigner sign --ks ~/.android/debug.keystore --ks-pass pass:android aumeo_aligned.apk
4. **安装:**
adb install aumeo_aligned.apk
## Aumeo BLE 协议说明
| 命令 | 方向 | 描述 |
|------|------|------|
| `0xF5` | App → 设备 | 播放音调:`[频率索引, 音量, 耳侧]` |
| `0xF6` | App → 设备 | 停止音调 |
| `0xF3` | App → 设备 | 写入 EQ 配置数据 |
| `0xF1` | 设备 → App | 电池电量通知 |
频率索引对应:50、100、200、500、1k、2k、4k、8k、12k、16k Hz。
## 致谢与法律声明
- **原始应用:** © Acecomm Group Ltd / Moshi Audio — 所有原始资源与代码仍归其所有。
- **补丁:** 出于个人/归档用途,在公平使用原则下反编译并应用,以恢复因服务器关闭而无法使用的已购硬件功能。
- **与 ULTRASONE、Acecomm Group 或 Moshi Audio 无任何关联。**
## 许可证
补丁按原样提供,仅供教育与个人使用。原始应用代码与资源为专有内容。本仓库仅存在以保留孤儿硬件的功能。
标签:Android, Android 12, AudioTrack, BLE, DSL, SEO, smali, Tone generation, URL提取, 反编译, 听力测试, 本地音频生成, 权限, 注册绕过, 登录绕过, 硬件音频, 耳机配件, 蓝牙, 蓝牙扫描, 蓝牙连接, 补丁, 隐私安全