应用依赖Crashlytics,包名右侧现橙色勾选图标及Application类报错求助
解决Crashlytics包名橙色勾选+Application类报错问题
嘿,我之前也踩过Crashlytics的这个坑,包名旁的橙色勾选搭配Application类报错,大多是配置环节出了疏漏,给你几个实用的排查和解决步骤:
检查Gradle配置完整性
先确认项目根目录的build.gradle里,已经添加了Crashlytics的Gradle插件依赖,比如:buildscript { dependencies { classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.9' // 替换为当前最新版本 } }再看模块级的
app/build.gradle,顶部要正确应用插件:// 旧写法 apply plugin: 'com.google.firebase.crashlytics' // 或者新的plugins块写法 plugins { id 'com.google.firebase.crashlytics' }同时确保依赖库已经引入:
implementation 'com.google.firebase:firebase-crashlytics:18.4.0' // 替换为当前最新版本包名橙色勾选的根源排查
这个橙色标记一般意味着Crashlytics识别到了包名,但和Firebase控制台的项目配置不匹配:- 去Firebase控制台对应项目中,确认已添加的应用包名和你本地项目的包名完全一致(注意大小写,控制台是严格匹配的);
- 检查
google-services.json文件是否正确放置在app/src/main目录下,文件里的package_name字段必须和本地包名完全对应。
Application类报错的解决
如果是初始化相关的错误:- 若自定义了Application类,检查
onCreate()方法里是否正确初始化Crashlytics:@Override public void onCreate() { super.onCreate(); FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true); // Debug模式下可以设置为false,避免测试崩溃被收集 } - 要是开启了ProGuard混淆,务必添加Crashlytics的混淆规则到
proguard-rules.pro:-keep class com.google.firebase.crashlytics.** { *; } -keepattributes *Annotation*
- 若自定义了Application类,检查
清理缓存重新构建
最后试试清除Gradle缓存并重新构建:执行./gradlew clean命令,然后同步项目(Sync Project with Gradle Files),再执行Rebuild Project,很多时候缓存问题会导致这类奇怪的报错。
内容的提问来源于stack exchange,提问作者Mahdi Azadbar
相关产品推荐
相关产品推荐

