0

私はFirebase Test Labでインストルメント済みのテストを実行しています。致命的でない例外をクラッシュスティックスに報告します。Androidインストルメント済みテストからCrashlyticsレポートを送信

ただし、Crashlytics.logException()を呼び出すとすぐにレポートは送信されません。レポートを送信するときcore.debuggable(true)を有効にした後、私はこれを参照してください。

D/CrashlyticsCore: Crashlytics is logging non-fatal exception "java.lang.Throwable: java.lang.Throwable" from thread main 

しかし、私はアプリを再起動してから、私が表示されるまでレポートがCrashlyticsダッシュボードに表示されていない:

D/CrashlyticsCore: Checking for crash reports... 
D/CrashlyticsCore: Found crash report /data/user/0/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/nonfatal-sessions/....cls 
D/CrashlyticsCore: Attempting to send 1 report(s) 
D/CrashlyticsCore: Adding single file ....cls to report ... 
D/CrashlyticsCore: Sending report to: https://reports.crashlytics.com/spi/v1/platforms/android/apps/org.dasfoo.delern.instrumented/reports 
D/CrashlyticsCore: Create report request ID: null 
D/CrashlyticsCore: Result was: 202 
I/CrashlyticsCore: Crashlytics report upload complete: ... 
D/CrashlyticsCore: Removing report at /data/user/0/.../files/.Fabric/com.crashlytics.sdk.android.crashlytics-core/nonfatal-sessions/....cls 
D/CrashlyticsCore: Checking for crash reports... 
D/CrashlyticsCore: No reports found. 

これは、生産のための理想的ではありませんユーザーがアプリを再起動したときには少なくとも機能しますテストでは、Firebase Test Labがアプリを再起動しないため、これは決して機能しません(アプリを再起動するとテストが失敗するという意味です)。

Crashlyticsがインスツルメンテッドテストから致命的でないレポートを送信するのを回避する方法はありますか?

使用されるパッケージ:

com.crashlytics.sdk.android:crashlytics:[email protected] 
io.fabric.tools:gradle:1.24.0 

UPDは:質問とタイトルを言い換え。私はCrashlyticsのデフォルトの動作を変更するオプションを探しています。これは妥当な機能のようです。

+0

[crashlyticsでデータをロギングする際のトラブル](https://stackoverflow.com/questions/24336444/trouble-with-logging-my-data-with-crashlytics) –

答えて

2

現在のセッションで致命的でないイベントを報告する方法はありません。 Crashlyticsに報告されるためには、致命的でないイベントのためにアプリケーションを再起動する必要があります。私はこのFirebaseCrashクラスを使用してcrashlytics上の非致命的な例外を取得するために使用

+0

正しいです。私は、この制限を回避するには、アプリケーションを再起動したと思ってCrashlyticsをだまし、テストでしか手に入れることができない汚いハックだ。今後Crashlyticsチームがクラッシュをアップロードするオプション機能をすぐに追加することを願っています。 –

0
import com.google.firebase.crash.FirebaseCrash; 

FirebaseCrash.report(new Exception("Error in CreateMobileAlertNative "+e.getStackTrace())); 

、私は私がそれらのレポートを取得するために使用これを介して、私のキャッチにいくつかのコードを入れて、一度これを試してみてください。

関連する問題