集成Firebase ML Kit文本翻译时遇NoSuchMethodError错误求助
解决方案:Firebase ML Kit 翻译功能调用时出现 NoSuchMethodError
这个错误是由于Firebase各组件版本不兼容导致的——ML Kit文本翻译依赖的Firebase Remote Config版本,和你项目中引入的Remote Config版本不一致,缺少对应的setDefaults(I)V方法。
解决步骤如下:
统一Firebase依赖版本
使用Firebase BOM(物料清单)管理所有Firebase组件的版本,确保所有依赖版本一致,避免冲突。在Module级build.gradle(通常是app/build.gradle)中添加:dependencies { // 引入Firebase BOM,统一管理所有Firebase组件版本 implementation platform('com.google.firebase:firebase-bom:32.7.0') // 可替换为最新稳定版本 // 无需指定版本号,由BOM自动管理 implementation 'com.google.firebase:firebase-ml-natural-language-translate' implementation 'com.google.firebase:firebase-config' // 其他Firebase依赖也按此方式添加 }移除单独指定的版本号
如果你之前单独给Firebase Remote Config或ML Kit翻译组件指定了版本号,全部删除,确保所有Firebase依赖都通过BOM管理版本。清理并重建项目
- 在Android Studio中执行
Build > Clean Project - 再执行
Build > Rebuild Project - 可选:清除Gradle缓存(路径通常是
~/.gradle/caches,Windows为C:\Users\<你的用户名>\.gradle\caches),删除后重新同步项目。
- 在Android Studio中执行
检查依赖树确认版本一致
执行Gradle命令查看项目依赖树,确认Remote Config的版本和ML Kit依赖的版本完全一致:./gradlew app:dependencies在输出中查找
com.google.firebase:firebase-config,确保它的版本和BOM指定的版本相同,没有被其他依赖强制引入旧版本。
内容的提问来源于stack exchange,提问作者Shekhar J. Lobo
相关产品推荐
相关产品推荐

