Android 13环境下PocketSphinx/Vosk库导入失败求助
解决PocketSphinx/Vosk库导入及离线唤醒词检测问题
一、依赖配置修正
首先检查模块级build.gradle.kts的配置,以下是两个库的有效配置方案:
PocketSphinx 配置
5prealpha版本不在默认maven仓库中,需先添加专属仓库:
repositories { google() mavenCentral() maven { url = uri("https://cmusphinx.github.io/pocketsphinx-android/maven") } }
再添加依赖:
dependencies { implementation("edu.cmu.pocketsphinx:pocketsphinx-android:5prealpha") }
Vosk 配置
你之前使用的ai.kitt.android是错误的groupId,正确配置如下:
先添加仓库:
repositories { google() mavenCentral() maven { url = uri("https://maven.kaldi-asr.org/") } }
再添加依赖:
dependencies { implementation("ai.kaldi:vosk-android:0.6.3") }
二、同步与缓存清理步骤
完成依赖配置后执行以下操作:
- 点击顶部工具栏的
Sync Project with Gradle Files按钮 - 清理缓存并重启:
File > Invalidate Caches... > 勾选Invalidate and Restart - 重新构建项目:
Build > Rebuild Project
三、正确的Kotlin导入语句
PocketSphinx核心类导入
import edu.cmu.pocketsphinx.Assets import edu.cmu.pocketsphinx.Hypothesis import edu.cmu.pocketsphinx.RecognitionListener import edu.cmu.pocketsphinx.SpeechRecognizer import edu.cmu.pocketsphinx.SpeechRecognizerSetup
Vosk核心类导入
import ai.kaldi.Model import ai.kaldi.Recognizer import ai.kaldi.Vosk
四、旧依赖冲突处理
若升级旧依赖报错,可通过以下方式规避:
- 排除冲突子模块:
implementation("edu.cmu.pocketsphinx:pocketsphinx-android:5prealpha") { exclude(group = "com.android.support", module = "support-v4") }
- 强制统一冲突依赖版本:
configurations.all { resolutionStrategy.force("com.android.support:support-v4:28.0.0") }
- 用
Gradle > Dependency Analyzer工具定位具体冲突项,针对性处理
五、后台唤醒词检测注意事项
- Android 13及以上需申请
POST_NOTIFICATIONS权限,后台录音需RECORD_AUDIO权限,且录音逻辑需放在前台服务中运行 - PocketSphinx自定义唤醒词需创建
.lm和.dic语言模型文件,放入assets目录 - Vosk可通过加载自定义唤醒词模型实现离线检测,模型文件需放入
assets或外部存储
内容的提问来源于stack exchange,提问作者MainGod
相关产品推荐
相关产品推荐

