在Android中捕获完整的LOGS

Nit*_*der 3 logging android adb logcat

我想知道如何从Android设备获取完整的日志(从我的应用程序初始化到任何崩溃或直到我的应用程序强制关闭).

我在这里发布的原因是我的应用程序崩溃了一些点,但是当我使用DDMS/Logcat获取日志时,我的崩溃详细信息被覆盖了新日志.


我如何得到崩溃的原因日志..


特别希望捕获本机代码崩溃.

I/DEBUG (21835): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000004...


这个adb logcat> crash.txt会保证写入文件会永远发生吗?

Nit*_*der 5

我试过这个工作真的很好,不确定它将消耗多少电池..如果您的应用程序处于测试阶段您可以使用此..在发布之前,您必须删除此代码并发布..

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();
    } 
}
Run Code Online (Sandbox Code Playgroud)