O Crashlytics não exibe falhas nativas


11

Relatório nativo do Crashlytics

Antes que isso seja marcado como duplicado, tentei de tudo, desde todas as perguntas possíveis. As falhas de Java são relatadas corretamente, no entanto, as falhas das bibliotecas nativas não possuem os símbolos de depuração.

O que eu tentei:

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

A configuração atual:

Dependências:

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

As dependências de malha:

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

O Fabric está configurado e funcionando com as falhas da camada Java.

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

O problema: falhas nativas são relatadas, mas os símbolos de depuração estão ausentes, não há erros / saídas que indiquem porque estão ausentes.

Eu criei um aplicativo de exemplo para poder reproduzi-lo mais facilmente. Tudo o que você precisa fazer é criar um projeto no firebase, colar o arquivo google-services.json e compilar. Link para o repo

Respostas:


0

Isso pode ser causado por símbolos de depuração em outro módulo ou devido a uma configuração desatualizada .

Tente configurá-lo da seguinte maneira:

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

No entanto, é melhor migrar para o Firebase Crashlytics , porque o Fabric o encerrará em breve:

O Crashlytics foi integrado ao Firebase, com novos recursos exclusivos do Firebase. Novos aplicativos devem usar o Crashlytics no Firebase para obter acesso às atualizações e recursos mais recentes. O Crashlytics do Fabric e o painel do Fabric estarão disponíveis até 31 de março de 2020 para usuários existentes.


Obrigado pela sua resposta, Martin. Infelizmente, isso não resolveu o problema. Lendo os documentos da malha, afirma-se que, mesmo se removermos completamente os caminhos androidNdkOut e androidNdkLibsOut dos crashlytics, a malha ainda deve encontrar os símbolos de depuração. Estou usando crashlytics.
Bensdiku

há dois meses, eu carreguei símbolos com sucesso. mas agora, resposta 202
booirror 5/03
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.