Crashlytics no muestra bloqueos nativos

11

Informe nativo de Crashlytics

Antes de que esto se marque como duplicado, he intentado todo, desde todas las preguntas posibles. Los bloqueos de Java se informan correctamente, sin embargo, los bloqueos de las bibliotecas nativas no tienen los símbolos de depuración.

Lo que he intentado:

./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

La configuración actual:

Dependencias:

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

Las dependencias de la tela:

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

Fabric está configurado y funciona con los bloqueos de la capa Java.

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

El problema: se informan bloqueos nativos, pero faltan los símbolos de depuración, no hay errores / salidas que indiquen por qué faltan.

Hice una aplicación de muestra para poder reproducir esto más fácilmente. Todo lo que tiene que hacer es crear un proyecto en firebase y pegar el archivo google-services.json y compilarlo. Enlace al repositorio

bensadiku
fuente

Respuestas:

0

Esto puede deberse a símbolos de depuración en otro módulo o debido a una configuración desactualizada .

Intenta configurarlo así:

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

Sin embargo, debería migrar mejor a Firebase Crashlytics , porque Fabric lo cerrará pronto:

Crashlytics se ha integrado en Firebase, con nuevas funciones exclusivas de Firebase. Las nuevas aplicaciones deben usar Crashlytics en Firebase para obtener acceso a las últimas actualizaciones y funciones. Fabric Crashlytics y el panel de Fabric estarán disponibles hasta el 31 de marzo de 2020 para los usuarios existentes.

Martin Zeitler
fuente
Gracias por tu respuesta, Martin. Lamentablemente, esto no resolvió el problema. Al leer los documentos de Fabric, se afirma que incluso si eliminamos las rutas androidNdkOut y androidNdkLibsOut completamente de los crashlytics, Fabric aún debe encontrar los símbolos de depuración. Estoy usando crashlytics.
bensadiku
Hace dos meses, había subido símbolos con éxito. pero ahora, responde 202
booirror