装载自G客工作室
问题表现:连接手机与电脑后,保证驱动安装争取,debug模式打开,在ddms中可以看到进程信息,但是logcat中无信息输出
问题原因:一些rom默认关闭logcat问题说明:ddms中设备名字显示为问号不影响,即adb get-serialno显示为问号不影响.
解决方法:
1.需要root权限(部分rom不需要)
2.打开logcat,并设置level
adb shell
echo 1 > /sys/kernel/logger/log_main/enable // 这里为注释,将1写入开关文件,1为开,0为关
echo 2 >/sys/kernel/logger/log_main/priority // 里为注释,将代表level的2写入优先级文件
3.重启adb,如果使用eclipse,先关闭eclipse,再重启adb,再启动eclipse
adb kill-server
adb start-server
4.此时70%的logcat应该能正常工作了.如果此时logcat仍旧不工作,更新adb(只是一条指令,不需联网,很快执行完毕)
android update adb
5.重复第3步.此时80%的logcat应该能正常工作了
6.如果logcat仍旧不工作
找到个人主目录下的android目录,如我的是C:\Documents and Settings\lypoint\.android
找到这个目录下的adb_usb.ini文件,其内容默认只有三行,全为注释,在后面添加一行,内容为0x12d1
7.重复第三步,此时90%的logcat应该能正常工作了
8.未完待续...
通过 adb logcat > log.txt 把log信息输入到tools路径下的log.txt文件中(会实时更新)
使用-d参数,可以在读完所有log后返回,而不会一直等待,在自动化较有用。例如:
adb logcat -d -s xxx > xxx.log //得到filter为xxx的日志,存入xxx.log,然后返回。
=====================================================================
Logcat命令选项列表
选项 | 描述 |
-b <buffer> | 加载一个指定的LOG Buffer供查看,比如event 或radio。 默认值是main 。具体参考查看指定的Log Buffers. |
-c | 清除整个 log并退出。 |
-d | 输出LOG到屏幕上并退出。 |
-f <filename> | 写LOG信息到 <filename>。默认是stdout. |
-g | 打印指定LOG Buffer的大小并退出。 |
-n <count> | 设置日志的最大数目<count>,默认值是4,需要和选项-r一起使用。 |
-r <kbytes> | Rotates每输出<kbytes> 写LOG文件,默认值为16,需要和选项-f一起使用。 |
-s | 设置默认的过滤级别为silent。 |
-v <format> | Sets 设置LOG的输出格式,默认的是brief 格式,要知道更多的支持的格式,参看控制LOG输出格式. |