我想知道如何从 Android 设备获取完整日志(从我的应用程序初始化到任何崩溃或直到强制关闭我的应用程序)。
我在这里发布的原因是我的应用程序在某个时候崩溃了,但是当我使用 DDMS/Logcat 获取日志时,我的崩溃详细信息被新日志覆盖了。
如何获取我的崩溃原因日志..
特别希望捕获 native 代码崩溃。
即 I/DEBUG (21835):信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR),故障地址 00000004...
此 adb logcat > crash.txt 是否会确保写入文件永远发生?
最佳答案
我试过这个效果很好,不确定它会消耗多少电池。如果您的应用程序处于测试阶段,您可以使用它。在发布之前,您必须删除此代码并发布。
private void writeADBLogs(){
BufferedWriter bufferedWriter = null;
try {
final File file = new File(sdcardPath);
bufferedWriter = new BufferedWriter(new FileWriter(file,true));
Process process = Runtime.getRuntime().exec("logcat -d");
BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()));
String oneLine;
while ((oneLine= bufferedReader.readLine()) != null) {
bufferedWriter.write(oneLine);
bufferedWriter.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
关于android - 在 Android 中捕获完整的日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9787808/