Crashlytics не видит комплект NDK - PullRequest
0 голосов
/ 06 июня 2019

Я интегрировал Crashlytics в приложение Android с частями C ++ (сделано с помощью Cocos Creator). Сбои в Java (Crashlytics.getInstance().crash()) регистрируются просто отлично, и они видны в консоли Firebase Crashlytics. Но сбоев в C ++ не обнаружено. Поэтому я следовал инструкциям по включению подробных журналов Crashlytics и заметил, что набор NDK отсутствует в списке наборов, которые Crashlytics инициализировал:

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'
    }
    ....
}

. / Приложение / 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'
    ...
}

UPDATE

NDK исчезает из списка комплектов при использовании

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

, а затем инициализировать его с

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

, чтобы сначала получить согласие пользователя на соответствие GDPR.

Должен ли я в этом случае инициализировать комплект Crashlytics NDK из C ++ через JNI?

1 Ответ

1 голос
/ 17 июня 2019

Если вы откладываете инициализацию 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 обновит раздел документации "opt-in report", чтобы упомянуть об этом.

...