如何将日志输出从logcat重定向到Android设备上的SD卡?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我正在尝试将我的应用程序的日志重定向到sdcard文件。但我没有这样做。我正在尝试这样的事情:

String cmd= "logcat -v time   ActivityManager:W  myapp:D  *:* >\""+file.getAbsolutePath()+"\"";
Runtime.getRuntime().exec(cmd);
提问于
用户回答回答于

用于logcat -f <filename>将其转储到文件系统中的文件。 确保你使用的文件名在SD卡中,即开头/sdcard/...

另外,为了传递参数给logcat程序,你应该传递exec一个字符串数组(而不是一个字符串)的方法:

String[] cmd = new String[] { "logcat", "-f", "/sdcard/myfilename", "-v", "time", "ActivityManager:W", "myapp:D" };

用户回答回答于

这是我的工作版本:

try {
    File filename = new File(Environment.getExternalStorageDirectory()+"/logfile.log"); 
    filename.createNewFile(); 
    String cmd = "logcat -d -f "+filename.getAbsolutePath();
    Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

找到你的日志文件/sdcard/logfile.log

扫码关注云+社区