在frameworks/base/cmds下面有android自己的cmd,在玩android系统的时候经常会用到的cmd如下:
logcat
1 | //显示时间 |
am
1 | //启动的一个acitivity,可以从每个应用的AndroidManifest.xml的文件中找到信息 |
debuggerd
debuggerd是android的一个daemon进程,负责在进程异常出错时,将进程的运行时信息dump出来供分析。debuggerd生成的coredump数据是以文本形式呈现,被保存在/data/tombstone/
目录下(名字取的也很形象,tombstone是墓碑的意思),共可保存10个文件,当超过10个时,会覆盖重写最早生成的文件。从4.2版本开始,debuggerd同时也是一个实用工具:可以在不中断进程执行的情况下打印当前进程的native堆栈。
这可以协助我们分析进程执行行为,但最最有用的地方是:它可以非常简单的定位到native进程中锁死或错误逻辑引起的死循环的代码位置。1
debuggerd -b <pid>
pm
1 | //示所有已安装apk的安装包 |
input
1 | //输入按键 |
adb
adb 连不上, 或者unauthorized
1.getprop|grep adbd 查看adbd是否开启(这部分代码路径在 system/core/adb/adb_main.cpp)
- 如果没有开启可以用如下命令重启adbd
1
2adb kill-server
adb start-server
2.检查setting中usb debug是否打开?
- 如果没有打开, 则进入setting –> About –> 连续按 build项, 进入开发者模式,进入developer options –> Debugging –> USB debugging –> ON
3.断开网线, ping 同样的IP, 看是否IP被占?
- 如果能ping通, 则IP被占, 需在UBoot console设置MAC地址
4./system/build.prop ro.secure设为0, 重启