ACRA 盛り込んでみるなど
とりあえず開発中のソレについて feature branch 作って .jar を libs にコピィ。Application なクラスを追加してその onCreate に ACRA.init な手続き呼び出しを追加、とあるのですが build できない。
手元で作ったソレではなくて 4.5 なナニを Github にあるリンクから手繰って libs 配下にコピィしてみたら build できるようになりました。何が悪かったのかは不明。
試験
何かをトリガにして、ぬるぽなオブジェクトを参照するようにしてやれば良いのでしょうがどうしたものか。
と言いつつ無理矢理盛り込んで動かしてみるもオチる。どうも Application なクラスに
@ReportsCrashes(
formKey = "",
formUri = ""
)
|
な記述が抜けてるのが悪かった模様。
クラッシュレポートは出力されていたのですが、中身が以下。
REPORT_ID: REPORT_ID: APP_VERSION_CODE: REPORT_ID: APP_VERSION_CODE: APP_VERSION_NAME: REPORT_ID: APP_VERSION_CODE: APP_VERSION_NAME: PACKAGE_NAME: REPORT_ID: APP_VERSION_CODE: APP_VER
ぐぬぬ。
色々もごもごしてたのですが
結局のところ、send メソドは以下な定義で正常動作しました。
public void send(CrashReportData report) throws ReportSenderException { String sdcard = Environment.getExternalStorageDirectory().getPath(); String path = sdcard + File.separator + "bug.txt"; File file = new File(path); PrintWriter pw = null; try { pw = new PrintWriter(new FileOutputStream(file)); } catch (FileNotFoundException e) { throw new ReportSenderException("Error file not found " + path, e); } for (final Object key : report.keySet()) { final Object preliminaryValue = report.get(key); final Object value = (preliminaryValue == null) ? "" : preliminaryValue; pw.println(key.toString() + " : " + value.toString()); } pw.close(); }
リポジトリは以下です。
今一緒に動かしてるのは ACRA v4.5 です。以下から入手可能。
取得できる情報がかなり詳細なので Google Play とかで配布するソレに盛り込む場合はそれなりの承諾を頂戴する必要がありますね。