无法为Android上的调试禁用Crashlytics
我在android studio 2.3.2上严格遵循了这些步骤,在调试版本中禁用Crashlytics 我的相关应用程序/build.gradle无法为Android上的调试禁用Crashlytics,android,crashlytics,twitter-fabric,Android,Crashlytics,Twitter Fabric,我在android studio 2.3.2上严格遵循了这些步骤,在调试版本中禁用Crashlytics 我的相关应用程序/build.gradle buildTypes { debug { applicationIdSuffix '.debug' versionNameSuffix '-DEBUG' // Disable fabric build ID generation for debug buil
buildTypes {
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
// Disable fabric build ID generation for debug builds
ext.enableCrashlytics = false
testCoverageEnabled = false
debuggable true
}
}
我找到了这个堆栈跟踪
Error reading Beta build properties java.io.FileNotFoundException: crashlytics-build.properties
at android.content.res.AssetManager.openAsset(Native Method)
at android.content.res.AssetManager.open(AssetManager.java:347)
at android.content.res.AssetManager.open(AssetManager.java:321)
at com.crashlytics.android.beta.Beta.loadBuildProperties(Beta.java:172)
at com.crashlytics.android.beta.Beta.doInBackground(Beta.java:75)
at com.crashlytics.android.beta.Beta.doInBackground(Beta.java:30)
at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
确保导入了特定于应用程序包名称的
BuildConfig
。
我想到的一种可能性是,可能是您意外地为某个库导入了BuildConfig
因此,当这行代码运行时:
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
它实际上指向了一个不同的BuildConfig
,因为有多个in项目,BuildConfig.DEBUG
最终为false
这只是一个猜测,但可能会意外出错。确保导入了特定于应用程序包名称的
BuildConfig
。
我想到的一种可能性是,可能是您意外地为某个库导入了BuildConfig
因此,当这行代码运行时:
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
它实际上指向了一个不同的BuildConfig
,因为有多个in项目,BuildConfig.DEBUG
最终为false
这只是一个猜测,但可能会意外出错。您是否执行了“您可以在运行时仅使用以下代码禁用调试版本的工具包:”步骤也一样。确切地说是@DaveThomasMike from Fabric here。您是否看到在此流程中创建了crashlytics-build.properties文件?您是否可以在应用程序的onCreate()中共享更多应用程序的build.gradle和Fabric的init?您是否执行了“您可以在运行时仅使用以下代码禁用用于调试构建的工具包:”步骤也一样。这里正好是@DaveThomasMike from Fabric。您是否看到在此流程中创建了crashlytics-build.properties文件?您能否在应用程序的onCreate()中共享更多应用程序的build.gradle和Fabric的init?