前言
Android调试桥,是一种拥有许多功能的命令行工具,可让您与设备进行通信。ADB命令便于执行各种设备操作(例如安装和调试应用,传输文件等),并提供对Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,包括客户端、守护进程(adbd)、服务器三个组件。(维基百科)
基本命令
查看adb的版本信息
启动adb
停止adb
以root权限运行adb
指定adb server的网络端口
1
| adb -P <port> start-server
|
查看已连接设备
设备连接管理
USB连接
硬件设备正常
Android开发者模式和USB调试模式已打开
设备驱动正常
USB连接正常
WLAN连接(需要USB线)
设备与电脑在同一wifi下
设备与电脑USB连接正常
电脑监听5555端口
断开USB连接
找到设备IP地址
使用IP地址连接设备
1
| adb connect <ip_address>
|
WLAN连接(不需要USB线)
1 2
| su setprop service.adb.tcp.port 5555
|
1
| adb connect <ip_address>
|
WLAN连接切换USB连接
断开网络连接
1
| adb disconnect <ip_address>
|
应用管理
查看所有应用
-s:系统应用
-3:第三方应用
1 2 3
| adb shell pm list packages adb shell pm list packages -s adb shell pm list packages -3
|
模糊查找应用
1
| adb shell pm list packages <package_name>
|
安装应用
-l:将应用安装到保护目录/mnt/asec
-r:允许覆盖安装
-s:将应用安装到SDcard
-d:允许降级覆盖安装
-g:授予所有运行时权限
1
| adb install <package_name>.apk
|
批量安装应用
1
| adb install-multiple <package_name_1>.apk <package_name_2>.apk
|
卸载应用
-k:保留数据
1
| adb uninstall <package_name>
|
清除应用数据
1
| adb shell pm clear <package_name>
|
查看正在运行的Services
1 2
| adb shell dumpsys activity services adb shell dumpsys activity services <package_name>
|
查看应用详细信息
1
| adb shell dumpsys package <package_name>
|
查看应用安装路径
1
| adb shell pm path <package_name>
|
强制停止应用
1
| adb shell am force-stop <package_name>
|
文件管理
从设备下载电脑
<remote>:设备文件路径
<local>:电脑的目录
1 2
| adb pull <remote> adb pull <remote> <local>
|
从电脑上传到设备
1
| adb push <local> <remote>
|
查看目录内容
-a:列出所有文件及隐藏文件
-i:列出所有文件及索引编号
-s:列出所有文件及文件大小
-n:列出所有文件及UID、GID
-R:列出所有文件及其目录子文件
1 2
| adb shell ls adb shell ls <dir>
|
切换目录
1
| adb shell cd <directory>
|
删除文件
-f:强制删除
-r:递归操作
-d:对目录的操作
-i:删除前提示
1
| adb shell rm <file_name>
|
创建目录
-m:赋予读写权限
-p:指定目录及父目录
1
| adb shell mkdir <directory_name>
|
创建文件
-n:文件的时间
1
| adb shell touch <file_name>
|
复制文件
1
| adb shell cp <file_source> <file_target>
|
移动或重命名文件
1
| adb shell mv <source> <dest>
|
网络管理
查看网络统计信息
测试网络间的连接和延迟
-c <num>:次数
模拟按键/输入
<keycode>:Android 键码值
1
| adb shell input keyevent <keycode>
|
滑动解锁
<start_x>:起始位置x坐标
<start_y>:起始位置y坐标
<stop_x>:结束位置x坐标
<stop_y>:结束位置y坐标
1
| adb shell input swipe <start_x> <start_y> <stop_x> <stop_y>
|
日志打印
按级别过滤日志
<priority>:优先级
*:V:只显示Verbose及以上级别(优先级最低)
*:D:只显示Debug及以上级别
*:I:只显示Info及以上级别
*:W:只显示Warning及以上级别
*:E:只显示Error及以上级别
*:F:只显示Fatal及以上级别
*:S:只显示Silent及以上级别(优先级最高)
1 2
| adb logcat <priority> adb logcat "<priority>"
|
清空已存在的日志
将日志显示在控制台
将日志输出到文件
1
| adb logcat -f <dirctory>
|
内核日志
系统属性
查看设备系统属性
设置设备系统属性
1
| adb shell setprop <key> <value>
|
查看设备型号
1
| adb shell getprop ro.product.model
|
查看设备电池状况
1
| adb shell dumpsys battery
|
查看设备屏幕分辨率
查看设备屏幕密度
查看设备显示屏参数
1
| adb shell dumpsys window displays
|
查看设备 android_id
1
| adb shell settings get secure android_id
|
查看设备IMEI
1
| adb shell dumpsys iphonesubinfo
|
1 2 3
| adb shell su service call iphonesubinfo 1
|
查看设备 Android 系统版本
1
| adb shell getprop ro.build.version.release
|
查看设备 IP 地址
1 2 3
| adb shell ifconfig | grep Mask adb shell ifconfig wlan0 adb shell netcfg
|
查看设备 Mac 地址
1
| adb shell cat /sys/class/net/wlan0/address
|
查看设备 CPU 信息
1
| adb shell cat /proc/cpuinfo
|
查看设备内存信息
1
| adb shell cat /proc/meminfo
|
查看设备更多硬件与系统属性
1
| adb shell cat /system/build.prop
|
其他
<property>:属性名
ro.build.version.sdk:SDK 版本
ro.build.version.release:Android 系统版本
ro.build.version.security_patch:Android 安全补丁程序级别
ro.product.model:型号
ro.product.brand:品牌
ro.product.name:设备名
ro.product.board:处理器型号
ro.product.cpu.abilist:CPU 支持的 abi 列表
persist.sys.isUsbOtgEnabled:是否支持OTG
dalvik.vm.heapsize:每个应用程序的内存上限
ro.sf.lcd_density:屏幕密度
1
| adb shell getprop <property>
|
刷机命令
进入Recovery模式
进入Bootloader模式
进入9008刷机模式
- 手机重启到9008刷机模式,仅限高通部分机型,慎用
等待设备
完成
参考文献
掘金——往事惘逝
少数派——克莱德