2017-04-07 6 views
2

をインストール:は私が力に近いクラッシュを処理するためにきちんとしたライブラリを使用してきた

https://github.com/Ereza/CustomActivityOnCrash

私は私のアプリにFirebase通知を追加することを決めたまではそれは素晴らしい仕事をしています。私は通知のみを選択している、そのように私は次の依存関係を追加しました:カスタムクラッシュハンドラはこれだけです見ても、次のメッセージが表示されているため、Firebaseクラッシュレポートも初期化されているいくつかの理由

compile 'com.google.firebase:firebase-messaging:10.0.1' 

を、 :

E/CustomActivityOnCrash: IMPORTANT WARNING! You already have an UncaughtExceptionHandler, 
are you sure this is correct? If you use ACRA, Crashlytics or similar libraries, 
you must initialize them AFTER CustomActivityOnCrash! Installing anyway, but your 
original handler will not be called. 

マイカスタムクラッシュハンドラは私の(アプリケーション)のonCreate()メソッドで初期化は非常に最初のものですので、どこかどのように自分自身を初期化/ロードからの報告Firebaseクラッシュを防ぐために、私は表示されません。

ご協力いただければ幸いです!

+1

アプリの起動のためのあなたのlogcat出力が含まれています'FirebaseCrash'に関連するメッセージ? FirebaseCrashを使わずにアプリを実行すると、 'D/FirebaseApp:com.google.firebase.crash.FirebaseCrashはリンクされていません。スキップ初期化。 FirebaseCrashが存在すると、 'I/FirebaseCrash:FirebaseCrashの報告が初期化されました 'と表示されます。 –

+0

私は実際にこれを見ています:I/FirebaseCrashApiImpl:ClassLoaderによって作成されたFirebaseCrashApiImpl p [DexPathList [..... I/FirebaseCrash:FirebaseCrashレポートの初期化com.google ..... – buradd

答えて

1

私はBobSnyderさんのコメント@おかげで私の答えを見つけた - それは、この前の質問/答え検索して見つけるために私を導く:

How to disable default Firebase crash reporting?

、最終的に私は私の問題を解決するために、この答えを使用しています:

If you want to disable the Firebase Analytics Crash Reporting, use the below 
code inside app.gradle file. 

configurations { 
    all*.exclude group: 'com.google.firebase', module: 'firebase-crash' 
} 
1

私はこのライブラリのデベロッパーですか? 1.5.0までのバージョンでFirebaseクラッシュレポートが機能しなくなります。アプリケーションはクラッシュしませんが、元のUncaughtExceptionHandlerはFirebaseによって内部的に呼び出されることはありません。そのため、Firebaseコンソールにクラッシュデータはありません。

これはFirebaseはApplicationオブジェクトがインスタンス化される前に、そのために実行終わる、プロバイダとしてのUncaughtExceptionHandlerを初期化するためCustomActivityOnCrash.install()は、あなたのApplicationクラスの最初の行として呼び出された場合でも発生します。

ライブラリのバージョン2.0.0では、Firebase(プロバイダ)と同じ手順でこの問題を解決しましたが、initOrderの方が高いため、Firebaseより前に実行されます。

予想通り(バージョン2.xは、1.xのコードとの互換性はありませんので、しかし、APIの変更に注意してください)それを動作させるためにあなたの依存関係を更新します。

dependencies { 
    compile 'cat.ereza:customactivityoncrash:2.0.0' 
} 
関連する問題