命令分类
1. ADB Debugging
adb devices 输出连接的模拟器/真机列表
adb forward tcp:8000 tcp:9000 实现PC和Android设备Socket通信
adb kill-server 关闭adb服务
2. 连接设备
adb connect 192.168.0.101 使用WIFI连接设备,connect设备的ip地址
adb usb 使用usb连接模式
3. 包管理
adb install
adb install test.apk 安装应用到设备
adb install -l test.apk 对应用加锁
adb install -r test.apk 如果安装的应用已经存在,卸载已经存在的
adb install -t test.apk 允许安装测试包
adb install -s test.apk 将应用安装到SD卡
adb install -d test.apk 允许安装低版本
adb install -p test.apk 安装应用的局部
各项参数可以结合使用
adb install -r -t test.apk
adb uninstall
删除一个应用包
adb uninstall com.test.app 卸载应用
adb uninstall -k com.test.app 卸载应用,保存数据和缓存目录
adb shell pm list package
输出所有应用包名,可以追加选项过滤
adb shell pm list packages 输出所有应用包名
adb shell pm list packages -f 输出所有应用包名和应用的安装位置 例如:package:/data/app/io.github.jiyangg.app/base.apk=io.github.jiyangg.app
adb shell pm list packages -d 输出禁用的应用包名
adb shell pm list packages -e 输出可以使用的应用的包名
adb shell pm list packages -s 输出系统应用包名
adb shell pm list packages -3 输出第三方应用包名
adb shell pm list packages -i 输出应用包名和安装器
adb shell pm list packages -u 输出包括已经卸载的应用包名
adb shell pm list packages --user 输出制定用户空间的应用包名
选项命令可以结合使用
adb shell pm list packages -3 -f 查看第三方应用的安装位置和包名
adb shell pm path
根据包名显示APK存放位置
adb shell pm path com.android.phone
adb shell pm clear
删除指定包名的所有数据,包括data和cache
adb shell pm clear com.test.abc
4. 文件管理
adb pull
adb pull
从设备下载文件到电脑
adb pull /sdcard/test.mp4 下载SD卡根目录test.mp4到电脑的当前目录下
adb pull /sdcard/test.mp4 d: 下载SD卡根目录test.mp4到电脑的指定目录d盘下
adb push
adb push
从电脑复制文件到设备
adb push test.apk /sdcard 将电脑当前目录下test.apk文件复制到设备SD卡根目录
adb push d:\test.apk /sdcard 将电脑d盘目录下test.apk文件复制到设备SD卡根目录
adb shell ls
输出文件列表
-
ls
输出文件列表,不包含隐藏文件 -
ls -a
输出文件列表,包含隐藏文件 -
ls -i
输出文件列表,包含文件下标 -
ls -s
输出文件列表,包含文件的大小 -
ls -n
输出文件列表,包含文件的UID,GID -
ls -R
递归列出子目录
adb shell rm
删除文件
-
rm -f
强制删除文件 -
rm -r
递归删除文件夹的文件 -
rm -d
删除文件夹,即使非空.(==rmdir) -
rm -i
删除前提示
adb shell mkdir
创建目录
mkdir /sdcard/tmp
-
mkdir -m 777 /sdcard/tmp
创建并设置权限 -
mkdir -p /sdcard/tmp/sub1/sub2
根据需要创建父目录
adb shell touch 新建文件
adb shell pwd 返回当前路径
adb shell cp 复制文件
adb shell mv 移动或重命名文件
5. 网络
adb shell netstat 网络信息统计
adb shell netcfg 查看网络连接信息,通过配置文件管理
adb shell ip
ip [ OPTIONS ] OBJECT
OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |netns | l2tp }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |-f[amily] { inet | inet6 | ipx | dnet | link } |-l[oops] { maximum-addr-flush-attempts } |-o[neline] | -t[imestamp] | -b[atch] [filename] |-rc[vbuf] [size]}
adb shell ip -f inet addr show wlan0 显示WIFI的ip地址
6. Logcat
打印日子到屏幕
adb logcat [option] [filter-specs]
adb logcat 打印所有日志
根据不同的级别打印日志,日志级别:V < D < I < W < E
- V : Verbose 详细
- D : Debug
- I :Info
- W :Warn
- E : Error
adb logcat *:V 显示V,D,I,W,E级别日志
adb logcat *:D 显示D,I,W,E级别日志
adb logcat *:I 显示I,W,E级别日志
adb logcat *:W 显示W,E级别日志
adb logcat *:E 显示E级别日志
adb logcat *:F 显示致命级别日志
adb logcat *:S 沉默级别,不显示任何日志
adb logcat -b
查看缓冲区信息
adb logcat -b main 默认,查看全部缓冲区
adb logcat -b radio 查看包含无线电/电话相关消息的缓冲区
adb logcat -b event 查看包含事件相关消息的缓冲区
adb logcat -c 清除整个日志并退出
adb logcat -d 将日志全部打印到屏幕并退出
adb logcat -f test.logs 将日志写入到文件test.logs
adb logcat -g 输出日志缓冲区大小并退出
adb logcat -n
adb logcat -r 日志文件每次的输出,需要结合 -f