ADB命令详解
一、ADB基本概念
ADB(Android Debug Bridge)是Android SDK中的一个工具,用于在电脑和Android设备之间建立通信桥梁,进行调试和控制。
主要功能
- 安装/卸载应用程序
- 在设备和计算机之间复制文件
- 在设备上运行Shell命令
- 查看设备日志
- 调试应用程序
- 控制设备状态
二、设备管理命令
1. 查看连接的设备
adb devices
显示所有已连接的Android设备和模拟器列表。
2. 重启ADB服务器
adb kill-server # 停止ADB服务器
adb start-server # 启动ADB服务器
adb restart # 重启ADB服务器(部分版本支持)
当设备连接异常时,通常需要重启ADB服务器。
3. 指定设备执行命令
当有多个设备连接时,需要指定设备:
adb -s <设备序列号> <命令>
例如:
adb -s emulator-5554 install app.apk
4. 以root权限连接设备
adb root
将ADB以root权限重新启动,用于访问系统文件。
5. USB连接相关
adb usb # 将ADB模式切换到USB
adb tcpip 5555 # 将ADB模式切换到TCP/IP,端口为5555
6. 无线连接设备
# 确保设备和电脑在同一网络
adb connect <设备IP地址>:5555
# 断开无线连接
adb disconnect <设备IP地址>:5555
三、文件操作命令
1. 从电脑复制文件到设备
adb push <本地路径> <设备路径>
例如:
adb push D:\test.txt /sdcard/
2. 从设备复制文件到电脑
adb pull <设备路径> <本地路径>
例如:
adb pull /sdcard/test.txt D:\downloads\
3. 列出设备目录内容
adb shell ls <目录路径>
例如:
adb shell ls /sdcard/
4. 创建目录
adb shell mkdir <目录路径>
5. 删除文件
adb shell rm <文件路径>
6. 删除目录
adb shell rmdir <目录路径> # 删除空目录
adb shell rm -r <目录路径> # 递归删除目录及其内容
7. 查看文件内容
adb shell cat <文件路径>
四、应用管理命令
1. 安装应用
adb install <APK文件路径>
adb install -r <APK文件路径> # 覆盖安装
adb install -s <APK文件路径> # 安装到SD卡
adb install -d <APK文件路径> # 允许降级安装
adb install -g <APK文件路径> # 授予所有运行时权限
2. 卸载应用
adb uninstall <包名>
adb uninstall -k <包名> # 卸载应用但保留数据和缓存
3. 查看已安装应用
adb shell pm list packages # 列出所有已安装应用的包名
adb shell pm list packages -s # 列出系统应用
adb shell pm list packages -3 # 列出第三方应用
adb shell pm list packages | findstr <关键词> # Windows下查找包含关键词的应用
adb shell pm list packages | grep <关键词> # Linux/Mac下查找包含关键词的应用
4. 启动应用
adb shell am start -n <包名>/<主Activity>
例如:
adb shell am start -n com.android.settings/com.android.settings.Settings
5. 停止应用
adb shell am force-stop <包名>
6. 清除应用数据和缓存
adb shell pm clear <包名>
7. 导出应用APK
adb shell pm path <包名> # 查看APK路径
adb pull <APK路径> <本地路径>
五、系统操作命令
1. 重启设备
adb reboot # 正常重启
adb reboot recovery # 重启到Recovery模式
adb reboot bootloader # 重启到Bootloader模式(Fastboot模式)
2. 获取设备信息
adb shell getprop ro.product.model # 获取设备型号
adb shell getprop ro.build.version.release # 获取Android系统版本
adb shell getprop ro.serialno # 获取设备序列号
adb shell wm size # 获取屏幕分辨率
adb shell wm density # 获取屏幕密度
3. 屏幕截图
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png <本地路径>
4. 录制屏幕
adb shell screenrecord /sdcard/video.mp4 # 开始录制,按Ctrl+C停止
adb pull /sdcard/video.mp4 <本地路径>
参数说明:
--time-limit <秒>: 设置录制时长,默认180秒--size <WIDTHxHEIGHT>: 设置视频尺寸--bit-rate <比特率>: 设置视频比特率
5. 控制设备屏幕
adb shell input keyevent 26 # 电源键(锁屏/解锁)
adb shell input keyevent 82 # 菜单键
adb shell input keyevent 3 # Home键
adb shell input keyevent 4 # 返回键
adb shell input keyevent 66 # 回车键
6. 模拟触摸事件
adb shell input tap <x坐标> <y坐标>
7. 模拟滑动事件
adb shell input swipe <起始x> <起始y> <结束x> <结束y> [持续时间(ms)]
8. 输入文本
adb shell input text <文本内容>
注意:文本中不能包含空格,特殊字符需要转义
六、日志操作命令
1. 查看日志
adb logcat # 查看实时日志
adb logcat > log.txt # 保存日志到文件
2. 过滤日志
adb logcat -s <TAG>:<级别> # 按标签和级别过滤
日志级别:V(Verbose), D(Debug), I(Info), W(Warn), E(Error), F(Fatal), S(Silent)
3. 清除日志缓存
adb logcat -c
4. 获取崩溃日志
adb bugreport > bugreport.zip
生成包含设备所有状态信息的完整报告
七、网络相关命令
1. 查看网络状态
adb shell netstat
adb shell ifconfig # 查看网络接口信息
adb shell ip addr # 查看IP地址信息
2. 开启/关闭WiFi
adb shell svc wifi enable # 开启WiFi
adb shell svc wifi disable # 关闭WiFi
3. 端口转发
adb forward tcp:<本地端口> tcp:<远程端口>
将本地端口的请求转发到设备的指定端口
八、Shell命令
1. 进入设备Shell
adb shell
进入设备的命令行环境
2. 直接执行Shell命令
adb shell <命令>
例如:
adb shell ls -la /sdcard/
adb shell ps # 查看运行中的进程
adb shell top # 查看CPU使用情况
3. 查看CPU和内存使用情况
adb shell dumpsys cpuinfo
adb shell dumpsys meminfo <包名> # 查看指定应用的内存使用情况
九、高级使用技巧
1. 批量操作多个设备
adb devices | tail -n +2 | cut -sf 1 | xargs -I {} adb -s {} <命令>
对所有连接的设备执行相同的命令
2. 监控应用启动时间
adb shell am start -W <包名>/<主Activity>
显示应用启动的冷启动、热启动和温启动时间
3. 查看应用权限
adb shell dumpsys package <包名> | findstr permission
4. 修改设备分辨率
adb shell wm size 1080x1920 # 设置分辨率
adb shell wm size reset # 恢复默认分辨率
5. 禁用应用
adb shell pm disable-user <包名> # 禁用应用
adb shell pm enable <包名> # 启用应用
十、常见问题解决
1. 设备无法连接
- 重启ADB服务器:
adb kill-server然后adb start-server - 检查USB调试是否已启用
- 更换USB线或USB端口
- 安装正确的USB驱动
2. 命令执行权限不足
- 使用
adb root获取root权限 - 检查文件或目录权限
3. 无线连接不稳定
- 确保设备和电脑在同一网络
- 尝试更改TCP/IP端口
- 检查防火墙设置
十一、ADB环境变量配置(Windows)
- 下载并安装Android SDK Platform Tools
- 将platform-tools目录添加到系统环境变量PATH中
- 验证:打开命令提示符,输入
adb version检查版本
十二、总结
ADB是Android开发和测试中不可或缺的工具,掌握这些命令可以大大提高工作效率。本文档涵盖了常用的ADB命令,但ADB的功能远不止这些,更多高级功能可以通过 adb --help 和 adb shell <命令> --help 查看。
在实际使用中,建议根据具体需求组合使用这些命令,并善用脚本自动化重复性工作。