我在android studio 2.3.2上完全按照这个步骤在我的调试版本上禁用了Crashlytics
我的相关app / build.gradle
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)
答案 0 :(得分:0)
确保您已导入特定于应用程序包名称的BuildConfig
。
我想到的一种可能性是,你可能偶然为你的某个库导入了BuildConfig
吗?
所以当这行代码运行时:
Crashlytics crashlyticsKit = new Crashlytics.Builder()
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
.build();
它实际上指向不同的BuildConfig
,因为项目中有多个,BuildConfig.DEBUG
最终为假。
这只是猜测,但可能会意外出错。