Crashlytics不显示本机崩溃

时间:2019-12-12 13:34:45

标签: android gradle android-ndk google-fabric crashlytics-android

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

1 个答案:

答案 0 :(得分:0)

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

尝试像这样配置它:

function iterate(){
    var i = 0;
    var interval = setInterval(function(){
        hide(elArray[i++]);
        if(i == elArray.length) clearInterval(interval);
    }, FADEDURATION);
}

但是,您最好迁移到Firebase Crashlytics,因为Fabric会很快将其关闭:

  

Crashlytics已集成到Firebase中,具有仅适用于Firebase的新功能。新应用应使用Firebase中的Crashlytics来访问最新更新和功能。 Fabric Crashlytics和Fabric仪表板将在2020年3月31日之前提供给现有用户。