Flutter打包Release APK报错Firebase未正确初始化 调试模式运行正常
解决方案
- 升级google-services插件版本:你当前使用的
com.google.gms:google-services:4.2.0版本过低,与高版本FlutterFire插件存在兼容性问题,将根目录build.gradle中的依赖版本升级至4.3.15及以上稳定版即可。 - 配置混淆规则:如果你的Release构建开启了代码压缩/混淆(即
minifyEnabled true),需要在android/app/proguard-rules.pro文件中添加如下规则,避免Firebase相关类被误删除:
-keep class com.google.firebase.** { *; } -keep class io.flutter.plugins.firebase.** { *; }
- 手动传入初始化配置:Release模式下自动读取google-services.json可能出现异常,可以直接在初始化时手动传入项目的Firebase配置参数,修改main.dart的初始化代码如下:
void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp( // 替换为对应Firebase项目的实际配置参数 options: const FirebaseOptions( apiKey: "xxxx", appId: "xxxx", messagingSenderId: "xxxx", projectId: "xxxx", storageBucket: "xxxx", ), ); runApp(MyApp()); }
- 清理缓存重新构建:修改配置后执行如下命令清理缓存,再重新打Release包验证:
flutter clean && flutter pub get cd android && ./gradlew clean
- 确认配置文件位置:再次检查
google-services.json文件已正确放置在android/app/目录下,而非Android项目根目录。
内容的提问来源于stack exchange,提问作者Hamza
相关产品推荐
相关产品推荐

