Crashlytics не отображает родные сбои


11

Crashlytics Native report

Прежде чем это будет помечено как дубликат, я перепробовал все из всех возможных вопросов. О сбоях в Java сообщается правильно, однако вылеты из родных библиотек не имеют символов отладки.

Что я пробовал:

./gradlew crashlyticsUploadSymbolsDevDebug // to upload the symbols manually
androidNdkOut 'build/intermediates/ndkBuild/devDebug/obj/local' //specify the ndk paths manually
androidNdkLibsOut 'build/intermediates/merged_native_libs/devDebug/out/lib'` //specify the ndk paths manually

Текущая настройка:

зависимости:

implementation('com.crashlytics.sdk.android:crashlytics:2.10.1@aar') { transitive = true }

implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.1.1'

android.applicationVariants.all { variant ->
def variantName = variant.name.capitalize()
def task = task("ndkbuild${variantName}")
task.finalizedBy("crashlyticsUploadSymbols${variantName}")
}

crashlytics {
enableNdk true
manifestPath 'AndroidManifest.xml'
androidNdkOut 'build/intermediates/ndkBuild/devDebug/obj/local'
androidNdkLibsOut 'build/intermediates/merged_native_libs/devDebug/out/lib'
}

Тканевые зависимости:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    // The Fabric Gradle plugin uses an open ended version to react
    // quickly to Android tooling updates
    classpath 'io.fabric.tools:gradle:1.31.2'
    }
}

Фабрика настроена и работает со сбоями слоя Java.

Fabric.Builder builder = new Fabric.Builder(this).kits(new Crashlytics(), new 
CrashlyticsNdk());`

Проблема: сообщается о собственных сбоях, но отсутствуют символы отладки, нет ошибок / выходных данных, указывающих, почему они отсутствуют.

Я сделал пример приложения, чтобы его было проще воспроизвести. Все, что вам нужно сделать, это создать проект в firebase, вставить файл google-services.json и собрать. Ссылка на репо

Ответы:


0

Это может быть вызвано символами отладки в другом модуле или устаревшей конфигурацией .

Попробуйте настроить его так:

crashlytics {
    enableNdk true
    // If using the Android plugin for Gradle version 2.2.0+ with the externalNativeBuild DSL,
    // you should remove the androidNdkOut and androidNdkLibsOut properties, as these paths will
    // automatically be detected by the Fabric plugin.
    androidNdkOut 'obj'
    androidNdkLibsOut 'libs'
    manifestPath 'AndroidManifest.xml'
}

Тем не менее, вам лучше перейти на Firebase Crashlytics , потому что Fabric скоро отключит его:

Crashlytics был интегрирован в Firebase с новыми функциями только для Firebase. Новые приложения должны использовать Crashlytics в Firebase, чтобы получить доступ к последним обновлениям и функциям. Fabric Crashlytics и панель управления Fabric будут доступны для существующих пользователей до 31 марта 2020 года.


Спасибо за ваш ответ, Мартин. К сожалению, это не решило проблему. Читая документацию по фабрике, утверждается, что даже если мы полностью удалим пути androidNdkOut и androidNdkLibsOut из аварийных сбоев, матрица все равно найдет символы отладки. Я использую крашлитики.
Бенсадику

два месяца назад я успешно загрузил символы. но теперь, это ответ 202
Booirror
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.