Crashlytics不显示本机崩溃


11

Crashlytics原生报告

在将此标记为重复之前,我已经尝试了所有可能出现的问题的所有内容。已正确报告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'
    }
}

设置Fabric并使用Java层崩溃。

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

问题:报告了本机崩溃,但缺少调试符号,没有错误/输出指示它们为什么丢失。

我制作了一个示例应用程序,以便能够更轻松地重现该应用程序。您所要做的就是在firebase中创建一个项目,然后粘贴google-services.json文件并进行构建。 链接到仓库

Answers:


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的新功能。新应用应使用Firebase中的Crashlytics来访问最新更新和功能。Fabric Crashlytics和Fabric仪表板将在2020年3月31日之前提供给现有用户。


谢谢你的回答,马丁。不幸的是,这并不能解决问题。阅读Fabric文档,据称即使我们从rashlytics完全删除了androidNdkOut和androidNdkLibsOut路径,fabric仍应找到调试符号。我正在使用crashlytics。
bensadiku

两个月前,我成功上传了符号。但现在,它回应202
booirror
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.