Crashlytics看不到NDK工具包

时间:2019-06-06 17:41:42

标签: android android-ndk crashlytics

我将Crashlytics集成到具有C ++部件(由Cocos Creator制造)的Android应用中。 Java(Crashlytics.getInstance().crash())中的崩溃记录得很好,并且在Firebase Crashlytics控制台中可见。但是未检测到C ++中的崩溃。因此,我遵循instructions to turn on Crashlytics detailed logs,并注意到Crashlytics初始化时使用的工具包列表中缺少NDK工具包:

06-06 19:13:55.241  9174  9174 D CrashlyticsCore: Exception handling initialization successful
06-06 19:13:55.242  9174  9174 D Fabric  : Initializing io.fabric.sdk.android:fabric [Version: 1.4.8.32], with the following kits:
06-06 19:13:55.242  9174  9174 D Fabric  : com.crashlytics.sdk.android:answers [Version: 1.4.7.32]
06-06 19:13:55.242  9174  9174 D Fabric  : com.crashlytics.sdk.android:beta [Version: 1.2.10.27]
06-06 19:13:55.242  9174  9174 D Fabric  : com.crashlytics.sdk.android:crashlytics [Version: 2.10.1.34]
06-06 19:13:55.242  9174  9174 D Fabric  : com.crashlytics.sdk.android.crashlytics-core [Version: 2.7.0.33]
06-06 19:13:55.242  9174  9174 D Fabric  :
06-06 19:13:55.253  9174  9245 D CrashlyticsCore: Opening a new session with ID ...

./ build.gradle

buildscript {
    ....
    dependencies {
        ....
        classpath 'io.fabric.tools:gradle:1.29.0'
    }
    ....
}

./ app / build.gradle

apply plugin: 'io.fabric'
...
crashlytics {
    enableNdk true
}
...
dependencies {
    ...
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
    implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.0'
    ...
}

更新

NDK在我使用时会从工具箱列表中消失

<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />

,然后使用

对其进行初始化
Fabric.with(this, new Crashlytics());

为了首先获得用户的GDPR合规性同意。

在这种情况下,我是否应该通过JNI从C ++初始化Crashlytics NDK工具包?

1 个答案:

答案 0 :(得分:1)

如果您推迟Crashlytics初始化以使用征得用户同意

<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />

然后要激活ndk-kit,您必须明确地将其作为Fabric.with的参数:

Fabric.with(this, new Crashlytics(), new CrashlyticsNdk());

我希望Firebase / Crashlytics会更新文档的“选择加入报告”部分以提及这一点。