logcat 是adb 查看日志输出命令
grep(Globally search a Regular Expression and Print)全局搜索正则表达式+打印,它不是adb命令,但常配合logcat,用于日志过滤。
没有Eclipse/Android Studio的logcat窗口,怎么看apk输出日志?
1、下载Android sdk,在DOS命令窗口跳转到adb.exe文件夹路径
2、执行adb devices 命令,看看有哪些设备可以连接,这时候会显示所有可连接设备的序列号列表
3、执行adb -s 设备序列号 shell
4、执行 logcat,即可以看到所有日志。
PS:对于只有一台设备的电脑,可以直接执行adb logcat 命令。
如何中断adb logcat 的输出?
Control + C 即可
最最最常用的命令
- adb logcat -v time // 输出带时间戳的日志。注意:-v 不是verbose,而是带参数的标记。
- adb logcat -v time > D:/log.txt // 日志输出到D:/log.txt 文件
- adb logcat -c // 清除之前的日志信息,也可以 adb logcat -c && adb logcat
'grep' 不是内部或外部命令,也不是可运行的程序 或批处理
windows不支持grep命令,只有Linux系统支持,因此可以用findstr命令代替,要使用grep,可以在dos命令行下输入adb shell进入shell命令行再使用。
grep不是adb的命令,而是shell下的命令,你可以这样试一下:adb shell "logcat | grep START"
解决打印报错问题:read:unexpected EOF!
PS:2m是一个建议值,可以自定义。
有时候Logcat日志过长,为了方便查看,我们可以把它存储到text文档。
除了上面的logcat -v time > D:/log.txt 外,可以在java代码中操作日志的保存。
String str = "hello world";
try {
FileWriter fw = new FileWriter(PATH + "/aa.txt");
fw.flush();
fw.write(str);
fw.close();
} catch (Exception e) {
e.printStackTrace();
}
String str = "hello world";
try {
FileWriter fw = new FileWriter(PATH + "/aa.txt");
fw.flush();
fw.write(str);
fw.close();
} catch (Exception e) {
e.printStackTrace();
}