sherpa-onnx
sherpa-onnx copied to clipboard
Android: OnlineRecognizer constructor deadlocks on Android 15 API 35 (Xiaomi ARM64)
问题描述
Sherpa ONNX的OnlineRecognizer构造函数在Android设备上初始化时发生死锁,无论使用AssetManager还是文件路径方式都会卡在Native层。
环境信息
- Android版本: 15 (API 35)
- 设备: Xiaomi 24069RA21C (ARM64)
- Sherpa ONNX版本: 未知(无法通过getVersion()获取)
- 模型类型: Zipformer
- encoder.onnx: 259MB
- decoder.onnx: 12MB
- joiner.onnx: 11MB
- tokens.txt: 48KB
复现步骤
- 加载sherpa-onnx-jni库成功
- 创建OnlineRecognizerConfig配置对象成功
- 调用
new OnlineRecognizer(getAssets(), config)或文件路径版本 - 在Native层初始化时死锁,无任何错误信息
测试结果
✅ Native库加载成功 ✅ 所有Java类可用 (OnlineRecognizer, OnlineStream, OnlineRecognizerConfig) ✅ 模型文件验证通过 ✅ 内存状态正常 (256MB最大,252MB可用) ✅ 文件路径方式同样死锁 ❌ OnlineRecognizer构造函数在Native层无限等待
关键日志
10-30 10:24:16.196: 构造器获取成功,准备实例化... 10-30 10:24:21.197: ⏳ 文件路径配置 - 仍在初始化中...(5秒) 10-30 10:24:26.198: ⏳ 文件路径配置 - 仍在初始化中...(10秒)