Firebase Crashlytics不支持NDK? [英] Firebase Crashlytics does not support NDK?
本文介绍了Firebase Crashlytics不支持NDK?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当您要使用 Crashlytics NDK 时,需要致电Fabric.with(this, new Crashlytics(),new CrashlyticsNdk());
,但Firebase Crashlytics会致电
Fabric.with(context, new Kit[]{new Crashlytics()});
在启动时.
结果,您将无法使用Crashlytics NDK.
When you want to use Crashlytics NDK, you need call Fabric.with(this, new Crashlytics(),new CrashlyticsNdk());
But Firebase Crashlytics calls
Fabric.with(context, new Kit[]{new Crashlytics()});
on startup.
As the result you cannot use Crashlytics NDK.
如何避免这个问题?
public class CrashlyticsInitProvider extends ContentProvider {
private static final String TAG = "CrashlyticsInitProvider";
public CrashlyticsInitProvider() {
}
public boolean onCreate() {
Context context = this.getContext();
FirebaseInfo firebaseInfo = new FirebaseInfo();
CrashlyticsInitProvider.EnabledCheckStrategy enabledCheckStrategy = new ManifestEnabledCheckStrategy();
if (this.shouldInitializeFabric(context, firebaseInfo, enabledCheckStrategy)) {
try {
Fabric.with(context, new Kit[]{new Crashlytics()}); // !here
Fabric.getLogger().i("CrashlyticsInitProvider", "CrashlyticsInitProvider initialization successful");
} catch (IllegalStateException var5) {
Fabric.getLogger().i("CrashlyticsInitProvider", "CrashlyticsInitProvider initialization unsuccessful");
return false;
}
}
return true;
}
推荐答案
将此添加到您的AndroidManifest.xml
:
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />
然后在Application
子类中手动初始化Crashlytics:
Then initialise Crashlytics manually in your Application
subclass:
Fabric fabric = new Fabric.Builder(this)
.kits(new Crashlytics(), new CrashlyticsNdk())
.build();
Fabric.with(fabric);
请参见 https://firebase.google.com/docs/crashlytics/force-a-crash#enable_debug_mode
这篇关于Firebase Crashlytics不支持NDK?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文