今天App出了个bug,在某个Activity里出现了crash。气人的是,App crash后,自动重启了一个新的App进程(ID:28965),旧的是(ID:28088)。问题是重启新的进程后,原来进程的logcat日志看不到了!!!
看不到崩溃日志怎么行!这里使用强大的adb(Android Debug Bridge)将logcat日志实时写入本地文件里。
首先得先找到adb,我这里是Mac OS环境,安装的是Android Studio,可以在/Users/用户名/Library/Android/sdk/platform-tools/下找到adb工具。现在要做的是把adb加入到环境变量里。
打开终端,输入vim ~/.bash_profile,按i进入编辑模式,输入
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/用户名/Library/Android/sdk/tools
按Esc退出编辑模式,输入:wq(写入并退出)。
接着终端输入 source ~/.bash_profile,回车。
到这里环境变量应该就加好了。可以通过输入adb version来看一下是否ok:
查看adb version接下来可以使用adb来记录logcat日志了:
写log到本地文件执行了这句命令后,不要关闭终端,然后再操作bug重现步骤。到日志所在目录下找到log.txt,用编辑器打开,定位到crash的地方,就可以知道bug出在了什么地方。
crashbug原来是在null对象上调用了equals方法,低级错误,惭愧。
如果不想再记录日志了,按Ctrl+C结束终端命令。
adb的其他命令可参考官方文档。
网友评论