sherpa-onnx icon indicating copy to clipboard operation
sherpa-onnx copied to clipboard

Android: OnlineRecognizer constructor deadlocks on Android 15 API 35 (Xiaomi ARM64)

Open Sohan-Sun opened this issue 4 weeks ago • 6 comments

问题描述

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

复现步骤

  1. 加载sherpa-onnx-jni库成功
  2. 创建OnlineRecognizerConfig配置对象成功
  3. 调用new OnlineRecognizer(getAssets(), config)或文件路径版本
  4. 在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秒)

Sohan-Sun avatar Oct 30 '25 02:10 Sohan-Sun