これまでのところ私はlogcatを取得する方法を発見したし、そのためにセトリングしています...今
のための主な活動では、このメソッドを呼び出すのonCreate。
public static void saveLogcatToFile(Context context) {
File outputFile = new File(context.getFilesDir(), "logcat.txt");
try {
@SuppressWarnings("unused")
Process process = Runtime.getRuntime().exec("logcat -df " + outputFile.getAbsolutePath());
} catch (IOException e) {...
別のアクティビティのonCreateでは、logcatを使用してTextViewを埋めます。
public static String readLogcatFromFile(Context context) {
File logFile = new File(context.getFilesDir(), "logcat.txt");
if (logFile.exists() == false) { ...
String logContents = context.getString(R.string.EMPTY_STRING);
FileInputStream fileInStream = null;
try {
fileInStream = new FileInputStream(logFile);
logContents = convertStreamToString(fileInStream);
} catch (Exception e) { ...
} finally { ...
fileInStream.close();
}
return logContents;
}
private static String convertStreamToString(InputStream is) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
return sb.toString();
}
ログは、アンインストールするまで(ログファイルを削除するまで)実行ごとに追加され続けます。 何かを壊して起動時にアプリがちょっと死んでしまったときに、私が前回のコミットに戻ってログを見て、何が起こったのかを調べると便利です。