web-dev-qa-db-ja.com

Firebase Crashlyticsがクラッシュを報告しない

私はFirebaseを正常に統合をプロジェクトに組み込んでいます
(認証とストレージはうまく機能します)が、Crashlyticsの単純な統合と、意図的に(そして意図的ではなく)アプリをクラッシュさせた後:)- クラッシュレポートなし クラッシュダッシュボードに表示されます。
Logcatに表示されます:
D/FirebaseApp:com.google.firebase.crash.FirebaseCrashはリンクされていません。初期化をスキップする
I/CrashlyticsCore:Crashlyticsレポートのアップロード完了:5BEDB1320329-0001-4 ...

私はすでにCrashlyticsを他の3つのアプリに問題なく統合していますが、何らかの理由で新しいアプリでは機能しません。
誰かが私が見逃したことを思いつくことができますか?

新しくダウンロードされたgoogle-services.jsonファイルが用意されている
そして私はプロジェクトgradleファイルに追加しました:

 
 buildscript {
 repositories {
 maven {
 url 'https://maven.fabric.io/public'
 } 
} 
依存関係{
クラスパス 'com.google.gms:google-services:4.2.0' 
クラスパス 'io.fabric.tools:gradle: 1.26.1 '
} 
} 
 
すべてのプロジェクト{
リポジトリ{
 // ... 
 maven {
 url 'https://maven.google.com/'
} 
} 
} 
 

そしてアプリのgradleファイルに追加されました:

 
 apply plugin: 'io.fabric' 
 
 dependency {
 // ... 
 implementation 'com.google .firebase:firebase-core:16.0.5 '
実装' com.crashlytics.sdk.Android:crashlytics:2.9.6'
} 
 

あなたの考えをありがとう

更新
Crashlyticsデバッグログを有効にするとクラッシュがキャプチャされて報告されましたと表示されますが、プロジェクトのFirebase Crashlyticsダッシュボードには何も表示されません

D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: Found crash report /data/.../files/.Fabric/com.crashlytics.sdk.Android.crashlytics-core/fatal-sessions/5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls
D/CrashlyticsCore: Attempting to send 1 report(s)
D/Answers: Response code for analytics file send is 200
D/CrashlyticsCore: Adding single file 5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls to report 5BEEA22001B0-0001-21C3-C00BC3A0D0B2
D/CrashlyticsCore: Sending report to: https://reports.crashlytics.com/spi/v1/platforms/Android/apps/com.salt.logomaker/reports
D/CrashlyticsCore: Create report request ID: null
D/CrashlyticsCore: Result was: 202
I/CrashlyticsCore: Crashlytics report upload complete: 5BEEA22001B0-0001-21C3-C00BC3A0D0B2
D/CrashlyticsCore: Removing report at /data/.../files/.Fabric/com.crashlytics.sdk.Android.crashlytics-core/fatal-sessions/5BEEA22001B0-0001-21C3-C00BC3A0D0B2.cls
D/CrashlyticsCore: Checking for crash reports...
D/CrashlyticsCore: No reports found.
7
Ugi Fletzet

同じ問題がありました。Crashlyticsはイベントの傾向を報告せず、PRODビルドのスタックトレースもクラッシュしません。問題はProguard構成にありました。馬鹿げた話ですが、Googleのすべてのドキュメントには、Proguardについての言及はまったくありません。ここでは、それを機能させるために追加しなければならないものを見つけることができます。

# Firebase
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public class * extends Java.lang.Exception
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**

これがあなたや他の多くの人に役立つことを願っています。私は1週間かけてデバッグと想像したことをすべて試しました。

1
Jorge Mathias

開発アプリケーションの場合、crashlyticsはレポートをアップロードしません。新しいバージョンを作成する必要があります。 Reactには、新しいアプリケーションをリリースする方法について十分に文書化された page があります。apkの準備が整い次第、実行できますAndroid =バリアントリリースを使用すると、これによりログにクラッシュレポートのアップロードが開始されます。

より詳細な回答については、このstackoverflow post もご覧ください。

0
Ricardo Ribas

メインアクティビティのonCreateにFabric.with(this, Crashlytics())も追加しましたか?

0
Alex