Crashlyticsがネイティブクラッシュを表示しない


11

Crashlytics Nativeレポート

これが重複としてマークされる前に、考えられるすべての質問からすべてを試しました。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'
    }
}

ファブリックがセットアップされ、Javaレイヤーでの作業がクラッシュします。

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

問題:ネイティブクラッシュが報告されますが、デバッグシンボルが欠落しています。欠落している理由を示すエラー/出力はありません。

これをもっと簡単に再現できるようにサンプルアプリを作りました。Firebaseでプロジェクトを作成し、google-services.jsonファイルを貼り付けてビルドするだけです。 リポジトリへのリンク

回答:


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

ただし、Fabricは間もなくシャットダウンするため、Firebase Crashlyticsに移行することをお勧めします。

CrashlyticsはFirebaseに統合され、Firebase専用の新機能が追加されました。新しいアプリは、FirebaseのCrashlyticsを使用して、最新のアップデートと機能にアクセスする必要があります。Fabric CrashlyticsとFabricダッシュボードは、2020年3月31日まで既存のユーザーが利用できます。


回答ありがとうございます、マーティン。残念ながら、これは問題を解決しませんでした。ファブリックドキュメントを読むと、たとえandroidNdkOutおよびandroidNdkLibsOutパスをcrashlyticsから完全に削除しても、ファブリックはデバッグシンボルを見つける必要があると述べられています。私はcrashlyticsを使用しています。
ベンサディク

2か月前、シンボルを正常にアップロードしました。しかし、今、それは202の応答
booirror
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.