Flutter移除Kotlin后Crashlytics找不到Google Services生成资源文件报错
解决方案
- 修正构建任务执行顺序
你手动执行了prod、dev风味的Google Services处理任务,但报错的是默认release变体的Crashlytics上传任务,对应需要先执行该变体的资源处理任务,或者直接在Gradle中配置全局依赖规则,避免每次手动执行。
在android/app/build.gradle文件末尾添加如下配置:
afterEvaluate { android.applicationVariants.all { variant -> def processTask = tasks.findByName("process${variant.name.capitalize()}GoogleServices") def uploadTask = tasks.findByName("uploadCrashlyticsMappingFile${variant.name.capitalize()}") if (processTask && uploadTask) { uploadTask.dependsOn(processTask) } } }
- 核对Firebase插件版本
确认android/build.gradle中google-services、Crashlytics Gradle插件的版本和你移除Kotlin之前的版本完全一致,避免版本不兼容导致的资源识别问题:
dependencies { // 替换为你之前正常使用的版本号即可 classpath 'com.google.gms:google-services:4.3.15' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' }
- 确认配置文件位置
检查google-services.json放置路径是否正确:- 全局通用配置放在
android/app/根目录 - 不同风味的差异化配置放在对应风味目录下,例如prod环境放在
android/app/src/prod/,dev环境放在android/app/src/dev/
- 全局通用配置放在
- 清理缓存重新构建
依次执行以下命令清理构建缓存后重新编译:
# 清理Android端构建缓存 cd android && ./gradlew clean && cd .. # 清理Flutter项目缓存 flutter clean
内容的提问来源于stack exchange,提问作者Dani
相关产品推荐
相关产品推荐

