ADB
adb(android debug bridge)android调试桥。adb是一个C/S架构的命令行工具,主要由3部分组成:
- 运行在PC端的client:可以通过它对android应用进行安装、卸载及调试(eclips中的adt、sdk tools目录下的ddms、monitor等工具,都是用adb来与android设备进行交互。尽量不要在电脑上安装豌豆荚等工具,因为这类手机助手自带的adb程序可能会与android sdk下的adb程序产生冲突,5037端口被占用,导致adb命令无法连接到设备)
- 运行在PC端的service:管理客户端到android设备上adb后台进程的连接(adb服务启动后,windows可以在任务管理器中找到adb.exe这个进程)
- 运行在android设备上的adb后台进程(执行adb shell ps | findstr adbd可以找到该进程)
ADB命令
adb命令分为三部分(adb命令、adb shell命令、linux命令),下面分别讲解:
1. adb命令
adb命令是adb这个程序自带的一些命令,常用的如下:
adb kill-server adb start-server 重启PC端ADB服务
adb devices 获取设备列表
adb reboot 重启手机
adb logcat -c 清除缓存日志信息
adb logcat -v time > e:/123.txt 打印手机日志
adb logcat *:w > e:/123.txt 打印级别W及以上的日志信息
adb bugreport > e:/123.log
adb pull /data/user_de/0/com.android.shell/files/bugreports/bugreport-PD1813B-OPM1.171019.026-2019-04-30-11-54-51.zip e:/123/ 导出bugreport日志到本地(设备中的目录未123.log中的)
adb install **.apk
adb uninstall + 包名,例如:adb uninstall com.dapp.yilian
adb pull sdcard/1.txt d:/ 手机到PC
adb push d:/1.txt sdcard/ PC到手机
adb root 获取root权限
adb remount 挂载系统的文件系统为可读写状态
2. adb shell命令
调用android系统中的命令,这些android特有的命令放在android设备system/bin目录下(还有androidSDK中E:\android-sdk_r24.4.1-windows\android-sdk-windows\sources\android-28\com\android\commands目录下的)
pm(package manager),可以获取到一些安装在android设备上的应用信息
adb shell pm list packages 列出系统中的所有包名
-s 列出系统应用
-3 列出第三方应用
-f 列出应用包名、对应的apk名及其存放位置
-i 列出应用包名、安装来源
adb shell pm path + 包名 列出对应包名的.apk位置(结果同pm list packages -f)
adb shell pm dump com.dapp.yilian > e:/2090508_dump.txt 获取dump信息(CPU、内存、电池使用情况等)(可以使用工具分析?)
am
adb shell am start -n com.dapp.yilian/.activity.WelcomeActivity 启动一个应用
-S 先停后启
-W 等待应用启动完成(会打印启动时间)
adb shell am start -a android.intent.action.VIEW -d http://www.baidu.com 启动默认浏览器打开一个网页
adb shell am start -a android.intent.action.CALL -d tel:10086 启动拨号器拨打10086
adb shell am force-stop + 包名 停止一个应用
adb shell am monitor 监控crash与ANR
input 向手机发送事件
adb shell input text 123456 发送文本
adb shell input keyevent KEYCODE_HOME 发送按键
adb shell input tap 500 500 发送触摸事件(500 500为坐标点位置)
screencap 截屏
adb shell screencap -p /sdcard/1111.png
screenrecord 录屏
adb shell screenrecord /sdcard/111111.mp4
wm 获取设备分辨率
adb shell wm size
dumpsys 获取设备内存、CPU等信息(重要)
ps 打印系统进程
kill + PID 杀死进程
3. linux命令
cat\cp\chmod\ls\mkdir等,详见博客Linux常用命令