Androidアプリのベータ版をいくつかの友人にリリースしました。今、テスト期間中に発生したいくつかのバグを修正したいと思います。
サードパーティのクラッシュレポートユーティリティを設定したので、アプリのクラッシュを簡単に処理できます。ただし、クラッシュを引き起こしていないいくつかの誤った動作があります。このような場合は、アプリのログを調べて、問題の原因を確認したいと思います。
アプリがlogcatエントリをメールで送信する方法はありますか?
root
またはその他の特別な権限がなくても機能するはずです。メインアクティビティのonDestroyでこのメソッドを呼び出します。
public void SendLogcatMail(){
// save logcat in file
File outputFile = new File(Environment.getExternalStorageDirectory(),
"logcat.txt");
try {
Runtime.getRuntime().exec(
"logcat -f " + outputFile.getAbsolutePath());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//send file using email
Intent emailIntent = new Intent(Intent.ACTION_SEND);
// Set type to "email"
emailIntent.setType("vnd.Android.cursor.dir/email");
String to[] = {"[email protected]"};
emailIntent .putExtra(Intent.EXTRA_EMAIL, to);
// the attachment
emailIntent .putExtra(Intent.EXTRA_STREAM, outputFile.getAbsolutePath());
// the mail subject
emailIntent .putExtra(Intent.EXTRA_SUBJECT, "Subject");
startActivity(Intent.createChooser(emailIntent , "Send email..."));
}
RemoteLogger
はまさに必要なもののようです
https://github.com/sschendel/RemoteLogger
ユーザーがメールで簡単に送信できるファイルにデバッグログをキャプチャします。これは、ユーザーから報告された再現性のないバグをトラブルシューティングするために作成されました。明確にするために、ログはリリースされたアプリのバージョンにドロップされ、ユーザーのトラブルシューティングをテストしました。最終的な製品コードで削除されました。
ライブラリは、ログファイルを開始、停止、送信、および削除するフックを提供します。