ADB命令详解

一、ADB基本概念

ADB(Android Debug Bridge)是Android SDK中的一个工具,用于在电脑和Android设备之间建立通信桥梁,进行调试和控制。

分享文件:android_sdk_test.7z

链接:https://pan.xunlei.com/s/VOdWsqmzSJiSkWvm4Fgyl_6NA1?pwd=pd9s#

复制这段内容后打开迅雷,查看更方便

解压放到 C:\Users\zhangdingqu\AppData\Local\Android\Sdk。

环境变量设置为

C:\Users\zhangdingqu\AppData\Local\Android\Sdk\platform-tools

C:\Users\zhangdingqu\AppData\Local\Android\scrcpy-win64-v3.3.3

主要功能

安装/卸载应用程序

在设备和计算机之间复制文件

在设备上运行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

adb install -r # 覆盖安装

adb install -s # 安装到SD卡

adb install -d # 允许降级安装

adb install -g # 授予所有运行时权限

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 <本地路径>

五、系统操作命令

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 : 设置视频尺寸

--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

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 :<级别> # 按标签和级别过滤

日志级别: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 查看。

在实际使用中,建议根据具体需求组合使用这些命令,并善用脚本自动化重复性工作。