Flutter构建安卓release包报错googleServicesFile不存在如何解决?
解决方案
- 第一步:核对
google-services.json存放路径
确认从Firebase控制台下载的对应安卓应用配置文件google-services.json,已放置在android/app/根目录;如果是多环境配置,需要将release环境对应的配置文件单独放在android/app/src/release/目录下,同时保证debug环境的配置放在android/app/src/debug/目录下。 - 第二步:核对项目级build.gradle依赖配置
打开android/build.gradle文件,确认dependencies块中已引入正确版本的谷歌服务和Crashlytics插件,参考配置如下:dependencies { classpath 'com.android.tools.build:gradle:匹配你当前使用的gradle版本' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.15' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' } - 第三步:核对应用级build.gradle配置
打开android/app/build.gradle文件,首先确认文件头部插件引入顺序正确:
若无需在release构建时上传混淆映射文件到Crashlytics,可直接关闭对应任务绕开报错,在buildTypes的release块中添加配置:apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.firebase.crashlytics'android { // 原有配置保留 buildTypes { release { // 原有minifyEnabled、proguardFiles等配置保留 firebaseCrashlytics { mappingFileUploadEnabled false } } } } - 第四步:核对包名一致性
确认android/app/build.gradle中release构建对应的applicationId,和Firebase控制台中注册的安卓应用包名完全一致,不一致会导致配置文件无法正常生成。 - 第五步:重新执行构建
按顺序执行以下命令:flutter cleanflutter pub get- 进入安卓目录执行
./gradlew clean(Windows系统执行gradlew.bat clean) - 回到项目根目录执行
flutter build appbundle --release
内容的提问来源于stack exchange,提问作者s. srichomthong
相关产品推荐
相关产品推荐

