Flowkey 安卓练习章节卡住闪退排查:AMIDI_openPort server exception -1 的解决办法
本文记录一次 flowkey Android 端练习章节卡住、返回后闪退的问题排查。
结论先放前面:建议优先升级 flowkey 到2.113.0并开启官方建议的Use legacy USB MIDI;如果仍无效,再参考 ADB 排查异常 MIDI 服务。
1. 问题现象
手机上的 flowkey 之前正常使用,后来突然出现:
- 知识/视频章节可以正常打开。
- 练习/互动/跟弹章节长时间卡在加载页面。
- 卡住后点击返回,flowkey 直接闪退。
- 卸载重装 flowkey 后仍然复现。
这个问题最迷惑的地方是:不是所有页面都进不去,只有需要练习交互的章节出问题。
问题截图如下,页面会一直停在加载进度条附近:
2. 环境
- 设备:iQOO Neo6 / V2196A
- Android:14
- flowkey:问题复现版本为
2.112.0 - 官方建议版本:
2.113.0 - 工具:Android Platform Tools、adb、logcat、dumpsys
3. 官方回复的解决方案
我把排查结果反馈给 flowkey 官方后,官方回复说他们已经在新版中做了改进,建议先:
删除并重新安装 flowkey,确认版本更新到 2.113.0如果仍然复现,再开启 legacy USB MIDI:
打开 flowkey -> 进入任意歌曲 -> 点击右上角齿轮图标 -> Microphone & MIDI Settings -> MIDI Settings 页面右上角三个点 -> 勾选 Use legacy USB MIDI如果只是想快速恢复使用,建议先试这一套官方方案。
4. ADB 排查过程
因为知识视频章节正常,而练习章节必现,所以怀疑练习页初始化了额外能力,例如麦克风识别、MIDI 设备枚举、音符检测等。
使用adb logcat观察 flowkey 进入练习章节时的日志,发现反复出现 Android MIDI 相关错误:
AMIDI_getDeviceInfo server exception code: -1 AMidiDevice_fromJava couldn't retrieve attributes of native device. AMIDI_openPort server exception code: -1继续查看系统 MIDI 服务:
adb shell dumpsys midi问题发生时,系统 MIDI 设备列表里出现了来自字节系应用的服务:
com.bytedance.push.alliance.partner.MdService对应包名包括:
com.ss.android.ugc.aweme com.ss.android.ugc.lifeservices这说明 flowkey 练习页枚举 MIDI 设备时,遇到了异常 MIDI 服务,Android MIDI API 返回异常,导致练习章节卡住,返回时闪退。
5. 临时兜底方案
如果官方方案无效,并且你通过dumpsys midi确认确实存在类似异常 MIDI 服务,可以尝试对当前用户移除相关包:
adb shell pm uninstall-k--user0com.ss.android.ugc.lifeservices adb shell pm uninstall-k--user0com.ss.android.ugc.aweme注意:
- 这不是 root 卸载系统组件,而是对当前用户卸载应用。
- 执行前请确认自己是否需要这些应用。
- 不建议不看包名、不看
dumpsys midi就直接照抄命令。
执行后再次查看:
adb shell dumpsys midiMIDI 设备列表为空后,flowkey 练习章节恢复正常。日志中也能看到类似:
AMidiDeviceDiscovery: start: found 0 existing device(s)6. 恢复命令
如果之后想恢复这些应用,可以尝试:
adb shell cmd package install-existing--user0com.ss.android.ugc.aweme adb shell cmd package install-existing--user0com.ss.android.ugc.lifeservices恢复后如果异常 MIDI 服务再次注册,flowkey 练习页可能再次卡住或闪退。
7. 为什么以前没遇到
我理解这个问题的触发条件不是单一的“flowkey 坏了”,也不一定是单一的“抖音坏了”,更像是几个条件叠在一起:
- 最近安装或更新了抖音/字节系应用,系统里多了异常 MIDI 服务。
- Android 或厂商系统更新后,MIDI 服务枚举行为变化。
- flowkey 2.112.0 对异常 MIDI 设备容错不足。
- 只有练习章节会初始化 MIDI/音符识别,所以视频章节不受影响。
所以如果你是最近下载/更新抖音后才遇到这个问题,这个时间点很可能就是触发因素之一。
8. 总结
推荐处理顺序:
- 先升级/重装 flowkey 到
2.113.0。 - 在 flowkey 的 MIDI 设置里开启
Use legacy USB MIDI。 - 如果仍然卡住,再用
adb logcat和adb shell dumpsys midi确认是否存在异常 MIDI 服务。 - 最后再考虑用 ADB 临时移除相关包作为兜底。
搜索关键词:
flowkey Android 练习章节 卡住 闪退 flowkey AMIDI_openPort server exception -1 AMidiDevice_fromJava couldn't retrieve attributes of native device Android dumpsys midi MdService com.bytedance.push.alliance.partner.MdService