アプリをエミュレーターやテスト機でテストしている段階ではクラッシュが起こらなくても、アプリをgoogleplayで公開して、多くの人にダウンロードされるようになるとどこかでクラッシュが起こるということがある。
利用者がレポートを送信してくれると良いけど、面倒だから送ってくれる人はまれだと思う。そういう時にそのエラー情報をどのようにして取得するかという問題がある。
そこで、acraというものを紹介します。問題が発生するとgoogledocsのgoogleドキュメントへ自動でクラッシュ情報、レポート情報やバグ情報を送ってくれます。かなり詳細でわかりやすいです。
1.ライブラリの入手
http://code.google.com/p/acra/downloads/list
2.Google Docsの準備
- 入手したライブラリに入っている、CrashReports-Template.csvをGoogle Docsへアップロード。
- アップロードしたファイルはそのままでは開いたり、編集したりできないので、名前を変更。例:testCrashReports。
- Google Docsで「ツール」「フォーム」「フォームを作成」でフォームを作成する。画面下の方に表示されるフォームキーを保存しておく。
3.プロジェクトに設定
- プロジェクトの「libs」ディレクトリにライブラリの中の「acra-4.3.3.jar.jar」をコピー。
- プロジェクトを右クリックから「プロパティ」のビルドパスで「jar追加」
- android.app.Applicationクラスを継承した任意のクラスを作成する。
@ReportsCrashes(formKey = “2でGoogle Docsに作ったフォームのキー”)
public class repAcra extends Application {
@Override
public void onCreate() {
// The following line triggers the initialization of ACRA
ACRA.init(this);
super.onCreate();
}
}
- androidManifestファイルを編集する。
<application android:icon=”@drawable/icon” android:label=”@string/app_name”
android:name=”repAcra”><uses-permission android:name=”android.permission.INTERNET”></uses-permission>