有没有什么简单的方法可以在开发过程中关闭Crashlytics Android SDK ?
我不希望每次我做一些愚蠢的事情时它都会崩溃
另一方面,我不想注释掉Crashlytics.start(),可能会忘记取消注释并提交
有没有什么简单的方法可以在开发过程中关闭Crashlytics Android SDK ?
我不希望每次我做一些愚蠢的事情时它都会崩溃
另一方面,我不想注释掉Crashlytics.start(),可能会忘记取消注释并提交
当前回答
如果你担心BuildConfig。调试没有正确设置,请使用ApplicationInfo代替:
boolean isDebug = ( mAppContext.getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) != 0;
Crashlytics crashlytics = new Crashlytics.Builder().disabled( isDebug ).build();
Fabric.with( uIContext, crashlytics );
其他回答
这里是Crashlytics的Marc。这里有几个方法来禁用Crashlytics,而你正在做你的调试构建!
使用不同的android:versionString进行调试和发布构建,然后从Crashlytics web仪表板禁用调试版本的崩溃报告。 将对Crashlytics.start()的调用包装在检查调试标志的if语句中。您可以使用自定义标志或类似于这里提出的方法:如何检查APK是否有签名或“调试构建”?
如果你使用Gradle,只需添加这个到一个风味:
ext.enableCrashlytics = false
问题是没有一个解决方案适用于最新的crashlytics sdk。(我用的是2.9.0)
你不能通过代码禁用它,因为它编译到你的项目中,甚至在调用你的应用程序的onCreate之前运行。所以其他的解决方案很简单——不要在不需要的时候编译崩溃分析。 在build中将'compile'调用替换为'releaseCompile'。gradle文件。
releaseCompile('com.crashlytics.sdk.android:crashlytics:2.9.0@aar') {
transitive = true
}
根据谷歌使用此代码禁用Crashlytics,它也将改善构建过程。
reference-https: / / developer.android.com/studio/build/optimize-your-build
Add this to your app’s build.gradle: android { buildTypes { debug { // Disable fabric build ID generation for debug builds ext.enableCrashlytics = false ... Disable the Crashlytics kit at runtime. Otherwise, the Crashlytics kit will throw the error: // Set up Crashlytics, disabled for debug builds // Add These lines in your app Application class onCreate method Crashlytics crashlyticsKit = new Crashlytics.Builder() .core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()) .build(); // Initialize Fabric with the debug-disabled crashlytics. Fabric.with(this, crashlyticsKit); In AndroidManifest.xml, add <meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />