使用[adb] logcat [option] … [filter-spec] … 命令。
1. -s 指定过滤器
adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG
2. 如果出现error: more than one device/emulator,需要adb -s deviceName指定设备
adb devices 得到设备名 MyAndroid adb -s MyAndroid logcat -s Unity
3. -f 输出log到指定文件
adb -s deviceName logcat -s Unity -f c:\unity_log.txt
补充:使用 ADB LogCat 查看在Android真机上 Unity debug.log 输出日志
控制台窗口输入指令格式为:[adb] logcat [<option>] ... [<filter-spec>] ...
其中的 [<option>] 的指令都有:
"-s"选项 : 设置输出日志的标签, 只显示该标签的日志;
"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
"-c"选项 : 清空所有的日志缓存信息;
"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
"-g"选项 : 查看日志缓冲区信息;
"-b"选项 : 加载一个日志缓冲区, 默认是 main, 下面详解;
"-B"选项 : 以二进制形式输出日志;
在[<option>]后面接着的是[<filter-spec>],意思输出相应的标签内容,例如我们要查看unity的Log信息,我们就输 adb logcat -s Unity只查看unity的信息 中文显示为乱码 如果只输入adb logcat 会打印android中的所有信息,对一些不是unity内部出现的报错定位也是很有帮助的
这样输出后就算闪退我们也不怕了,但是新的问题来了,这个窗口不方便查看,而且中文还是乱码,那怎么办呢? 接着我们按照[adb] logcat [<option>] ... [<filter-spec>] ...这个格式输入 adb logcat -s Unity -d > C:\UnityDrictory\UnityADBLog.txt
ADB命令
1、查看ADB版本:adb version
2、查看已连接的设备列表:adb devices
如果有多个设备连接的时候,会提示error:more than one device/emulator,比如手机和模拟器同时打开的时候,这时候使用adb devices查看列表,使用adb -s xx shell选择设备
3、列出系统应用的所有包名:adb shell pm list packages -s
4、列出除了系统应用的第三方应用的包名:adb shell pm list packages -3
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。如有错误或未考虑完全的地方,望不吝赐教。