笔者从事OEM手机开发,以下是比较常用的命令,之后会不断更新。
1.指定特定的连接设备
$ ADB devices
List of devices attached
Cf 264b 8f设备
模拟器-5554设备
如果连接了多个设备,ADB devices将列出所有连接的设备,您可以通过ADB -s序列号指定特定设备。例如,ADB -s cf264b8f shell WM size命令指示导入序列号为cf264b8f的设备的分辨率
2.启动/停止ADB
Adb start-服务器
Adb kill-server
Adb kill-server此命令经常使用,可以重新执行与Adb相关的命令。笔者的这个命令执行完毕后,最常用的是ADB remount。Adb start-server此命令通常不需要运行,如果在运行Adb命令时ADB server未启动,则会自动调用。
3.获取手机上安装的应用程序列表
ADB shell pm列表程序包
此命令列出了当前安装在设备上的所有应用程序,后面可能是参数。例如,如果在后面添加-s,则列出系统应用程序,-3列出三方应用程序,-f列出与应用程序相关的APK
或者,添加字符串以列出包含该字符串的程序包的名称
测试ADB shell pm列表包
此命令列出软件包名称中包含test的应用程序,其效果与ADB shell pm list packages | grep test相同
4.安装/卸载应用程序
到Adb install APK的路径
Adb uninstall APK的程序包名称
此命令也经常使用。可以在ADB install之后添加其他参数。笔者使用-r进行复盖安装,-s表示安装在SD卡上。
5.删除APK数据
Adb shell pm clear程序包名称
例如,ADB shell pm clearcom . Android . test意味着清除名为test的应用程序的数据和缓存。这相当于设置手动设置的缓存和清除数据按钮。
6.列出前台活动
ADB shell dump sys activity activities | grep mfocusedactivity
这个指令可以快速找到目前介面所在的套件名称和类别名称
7.调用指定的活动/服务,发送指定的广播
ADB shell am start-n com。
上述命令意味着调用名为LauncherUI的界面,通过调用指定的服务将start更改为startservice即可
传送指定的广播有点复杂。例如:
ADB shell am broadcast-a Android . in-n com . lee . test/。completereceiver
BOOT_COMPLETED广播请访问com.lee.test/。指示发送给CompleteReceiver。此命令实用、频繁,调试时经常用于将指定的广播发送到debug。特别是部分广播的场面是很难制作的剧本
8.应用强制停止
ADB shell am force-stop-n软件包名称
例如,ADB shell am force-stop-n com.android.test表示停止com . Android . test应用程序的所有进程和服务
9.PC和手机互传文件
Adb pull手机文件路径计算机上的目录
上述命令是指将手机指定路径中的文件复制到计算机上的指定目录,如果省略了计算机目录,则表示当前目录。例如,ADB pull /SDcard /share/表示从SD复制到计算机share目录
Adb push计算机上的文件路径手机目录
这个命令意味着将电脑上的文件push上传到手机上,笔者表示,每天经常使用从事手机开发的这两个命令。
10.模拟键/输入
ADB shell输入键特定值
此具体数字表示其他含义,如ADB shell输入键事件85表
示媒体控制中的播放/暂停;adb shell input keyevent 224 点亮屏幕;焦点处于文本框时adb shell input text hello可以代替手动输入hello。keyevent还有很多,可以自行查阅11. Android 日志
adb logcat [<option>] ... [<filter-spec>] ...
adb logcat后面可以追加不同参数,笔者从事手机开发上层部分,经常使用的是adb logcat -v time >lee.log 抓取上层日志并输出到lee.log文件中,adb logcat -v time后面追加-s 具体TAG名,可以打印具体TAG的日志
12.查看IMEI号
adb shell
su
service call iphonesubinfo 1
输出示例:
Result: Parcel(
0x00000000: 00000000 0000000f 00360038 00390030 '........8.6.0.9.'
0x00000010: 00350035 00320030 00370037 00350038 '5.5.0.2.7.7.8.5.'
0x00000020: 00340030 00000031 '0.4.1... ')
这里的是 860955027785041。
13. adb shell cat /system
adb shell cat /system
查看系统属性,这个对于像笔者这样从事手机开发一定不会陌生
14.屏幕截图并传到电脑端
adb shell screencap -p /sdcard
这一步屏幕截图保存在/sdcard下,紧接着执行
adb pull /sdcard 电脑目录
这一步将sdcard下的拷贝到电脑端,电脑目录省略则拷贝到当前目录
15.录制屏幕
adb shell screenrecord /sdcard
这一步录制视频并保存到sdcard下,命名为lee
同样的导出到电脑端步骤和上一条截图操作一样,这个命令也是比较常用,特别是和测试同事扯皮时可以录制一个视频证明自己的清白,哈哈
16. 重启机器
adb reboot
17. Monkey 压力测试
adb shell monkey -p 包名 -v 500
这个是最简单的命令,表示向指定应用程序发送 500 个伪随机事件,像是单击、触摸、手势等操作Monkey有很多命令,具体可以自行查阅,笔者曾经只用过两三次,大部分时候都是测试同事测试提供日志过来。
18.查看进程
adb shell ps
还有很多比如查看CPU信息啊,分辨率,Mac 地址,内存信息等等这些不怎么常用的这里就不列出了,本文只列出常用高频命令。