Crashlytics不显示本机崩溃

问题描述 投票:9回答:1

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

Fabric已安装并且正在使用Java层崩溃。

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

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

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

android gradle android-ndk google-fabric crashlytics-android
1个回答
0
投票

这可能是由于调试符号in another modulean outdated configuration引起的。

尝试像这样配置它:

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日之前提供给现有用户。

© www.soinside.com 2019 - 2024. All rights reserved.