在开发和质量检查过程中,我们以发布模式编译应用程序,以确保一切正常。
我们不希望在开发过程中发生崩溃报告,因此我们将其放入AndroidManifest.xml:
<meta-data android:name="firebase_crash_collection_enabled" android:value="false" />
<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />
在我们应用程序的onCreate中:
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(BuildConfig.crashlytics_enabled);
在应用程序的build.gradle中:
...
apply plugin: 'com.google.firebase.crashlytics'
...
android {
...
buildTypes {
release {
buildConfigField "boolean", "crashlytics_enabled", (isOfficialRelease() || isDailyJob()) ? "true" : "false"
minifyEnabled true
if (buildConfigFields.get("crashlytics_enabled").getValue() == "false" && minifyEnabled) {
firebaseCrashlytics {
mappingFileUploadEnabled false
}
}
}
}
}
...
apply plugin: 'com.google.gms.google-services'
问题是,即使禁用了crashlytics,我们仍然将版本号和版本名称上载到crashlytics,并且正在破坏过滤器对话框,因此我们迷失了无数个版本。
This is how our filter dialog looks now
此外,由于Firebase Crashlytics only shows the last 100 versions,我们可能会陷入无法了解正式发布的情况。
是否有办法完全阻止发送版本?
显然不是在AndroidManifest.xml中添加的正确密钥是
<meta-data android:name="firebase_crash_collection_enabled" android:value="false"/>
但是
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false"/>