.apk がデプロイされて Google Play にダウンロードされると、それがクラッシュした場合、ユーザーはスタック トレースのエラー レポートをアップロードできます。内部 QA チームがあり、.apk が開発者の PC からデバイスに直接展開されている場合、PC に接続したり、アプリを公開したりすることなく、そのエラー スタック トレースを収集する方法はありますか?
6 に答える
私が使用した 1 つの方法は、UI スレッドを含むすべてのスレッドに独自のデフォルトの例外ハンドラーを追加することです。
Thread.setDefaultUncaughtExceptionHandler(
new MyDefaultExceptionHandler(this));
MyDefaultExceptionHandler で、キャッチされていない例外をファイルに保存し、通常の処理を実行します。つまり、アプリがクラッシュします。次回アプリが起動してクラッシュ レポート ファイルが見つかると、クラッシュ レポートを開発者に送信するかどうかを尋ねるダイアログがユーザーに表示されます。ユーザーが「はい」を選択した場合、ファイルからのスタック トレースを自分にメールで送信し、ファイルを削除/クリアします。
ACRAは、アプリケーションに簡単に組み込んで使用できる無料のライブラリで、すべてのクラッシュ レポートを GoogleDoc フォームに自動的に投稿できます。
彼らの説明から:
ACRA を使用すると、Android アプリケーションでクラッシュ レポートをさまざまな宛先に送信できます。
- Google ドキュメント スプレッドシート (デフォルトおよび元の動作)
- Eメール
- 独自のサーバー側 HTTP POST スクリプト (
- 独自のレポート送信者を実装することにより、他の可能な宛先
BugSense などのサービスを使用して、スタック トレースを収集できます。ただし、それを使用するには、アプリケーションに android.permission.INTERNET 権限が必要です。
LogViewer をインストールすると、デバイスで logcat の出力を確認できます。私にとってはうまくいきます。
https://play.google.com/store/apps/details?id=ukzzang.android.app.logviewer
Google Play には、テスターがアプリケーション ログを電子メールで送信するために使用できるLog Storeのようなアプリケーションがたくさんあります。
これには、Hockeyapp(www.hockeyapp.net) が非常に便利です。アプリを公開せずにベータ テストを行うのに役立ちます。私はかなり長い間それを使用してきましたが、アプリの新しいバージョンをアップロードして、ユーザーにアプリを更新してもらうのは非常に簡単です。これは彼らのウェブサイトからです
HockeyApp は、ベータ版を配布し、ベータ版のライブ クラッシュ レポートを収集し、Mac OS X、iOS、および Android でアプリをリリースするための最良の方法です。