ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机),故在其实工作可以给我们很多帮助,下面将总结下之前工作中常用到的adb命令:
- adb help, 列出所有的选项说明及子命令
- adb devices , 获取设备列表及设备状态
- adb get-state , 获取设备的状态,设备的状态有 3 钟,
device
,offline
,unknown,其中device:设备正常连接,offline:连接出现异常,设备无响应,unknown:没有连接设备
- adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用,设备状态异常时使用 kill-server,然后运行 start-server 进行重启服务
- adb logcat , 打印 Android 的系统日志 adb logcat -c,清除日志
- adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误,输出比较多,建议重定向到一个文件中,如adb bugreport > d:ugreport.log
- adb install , 安装应用,adb install -r 重新安装
- adb uninstall , 卸载应用,后面跟的参数是
应用的包名
,请区别于apk 文件名
- adb pull , 将 Android 设备上的文件或者文件夹复制到本地,如例如复制 Sdcard 下的 pull.txt 文件到 D 盘:adb pull sdcard/pull.txt d:,重命名:adb pull sdcard/pull.txt d: ename.txt
- adb push , 推送本地文件至 Android 设备,如推送 D 盘下的 push.txt 至 Sdcard:adb push d:push.txt sdcard/ sdcard 后面的斜杠不能少
- adb reboot , 重启 Android 设备, adb reboot recovery,重启到Recovery界面 adb reboot bootloader,重启到bootloader界面
- adb root , adb remount,可以直接已这两个命令获取 root 权限,并挂载系统文件系统为可读写状态
- adb get-serialno,返回设备序列号SN值 adb get-product,获取设备的ID
- adb forward tcp:5555 tcp:8000,做为主机向模拟器或设备的请求端口
- adb shell,进入设备shell
- adb shell pm list package,列出所有的应用的包名
- adb shell screencap -p /sdcard/screen.png ,截屏,保存至 sdcard 目录
- adb shell screenrecord sdcard/record.mp4,执行命令后操作手机,ctrl + c 结束录制,录制结果保存至 sdcard
- adb shell wm size,获取设备分辨率
- adb shell pm dump 包名,列出指定应用的 dump 信息
- adb shell pm path 包名, 列出对应包名的 .apk 位置
- adb shell monkey –p 程序包 –v 测试次数 ,比如“adb shell monkey –p com.htc.Weather –v 20000”意思是对com.htc.Weather 这个程序包单独进行一次20000次的monkey测试,其中程序包名称可以在串口终端这句命令获得:ls data/data 显示所有程序包
- adb shell ps | grep [process],找出对应的进程pid adb shell dumpsys meminfo [pid],根据进程pid查看进程占用的内存 或者 adb shell dumpsys meminfo<package_name>,package_name 也可以换成程序的pid,pid可以通过 adb shell top | grep app_name 来查找
- adb shell ps, 查看当前终端中的进程信息
注:
adb 使用的端口号,5037
,有必要记一下
Adb Shell命令下使用的一些linux命令
命令:
ls // 查看目录
date // 打印或设置当前系统时间
cat /proc/meminfo // 查看内存信息
cat /proc/cpuinfo // 查看CPU信息