### ADB 用法大全 #### 基本概念与用法 ADB(Android Debug Bridge)是Android SDK中的一个工具,用于实现计算机与Android设备之间的通信。它支持一系列的命令来帮助开发者完成对设备的调试操作。下面详细介绍ADB的一些基本用法及高级技巧。 ##### 命令语法 ADB命令的基本语法如下: ``` adb [-d|-e|-s <serialNumber>] <command> ``` 当只有一个设备或模拟器连接时,可以直接使用`adb <command>`。如果连接了多个设备或模拟器,则需要使用`-d`(USB设备)、`-e`(模拟器)或`-s <serialNumber>`来指定目标设备。 ##### 指定目标设备 如果有多台设备连接,则需要指定目标设备。例如,使用`adb devices`列出已连接的所有设备及其序列号,然后使用`-s <serialNumber>`参数指定具体的目标设备。 #### 设备管理 ##### 启动/停止 - **启动adb server**:通常无需手动执行,因为运行adb命令时会自动启动。 - `adb start-server` - **停止adb server**: - `adb kill-server` ##### 查看ADB版本 - `adb version` ##### 以root权限运行adbd - `adb root`:使adbd以root权限运行,从而可以执行更多的命令。 ##### 指定adbserver的网络端口 - `adb -P <port> start-server`:默认端口号为5037。 #### 设备连接管理 ##### 查询已连接设备/模拟器 - `adb devices`:列出所有已连接的设备或模拟器。 ##### USB连接 通过USB线将设备与计算机连接。 ##### 无线连接 通过Wi-Fi连接设备与计算机。 #### 应用管理 ##### 查看应用列表 - `adb shell pm list packages`:列出所有安装的应用程序。 - `adb shell pm list packages -s`:列出系统预装应用。 - `adb shell pm list packages -3`:列出第三方安装的应用。 - `adb shell pm list packages <string>`:列出包含特定字符串的应用程序。 ##### 安装APK - `adb install <path_to_apk>`:安装指定路径下的APK文件。 ##### 卸载应用 - `adb uninstall <package_name>`:卸载指定的应用程序。 ##### 清除应用数据与缓存 - `adb shell pm clear <package_name>`:清除指定应用程序的数据和缓存。 ##### 查看前台Activity - `adb shell dumpsys window windows | grep -E 'mCurrentFocus|FocusedApp'`:显示当前正在运行的Activity。 #### 与应用交互 ##### 调起Activity - `adb shell am start -n <package_name>/<activity_name>`:启动指定的应用程序或Activity。 ##### 调起Service - `adb shell am startservice <service_name>`:启动服务。 ##### 发送广播 - `adb shell am broadcast -a <action>`:发送广播。 ##### 强制停止应用 - `adb shell am force-stop <package_name>`:强制停止指定的应用程序。 #### 文件管理 ##### 复制文件 - `adb pull <remote_path> <local_path>`:从设备复制文件到本地计算机。 - `adb push <local_path> <remote_path>`:从本地计算机复制文件到设备。 #### 模拟按键/输入 ##### 电源键 - `adb shell input keyevent 26`:模拟按下电源键。 ##### 菜单键 - `adb shell input keyevent 82`:模拟按下菜单键。 ##### HOME键 - `adb shell input keyevent 3`:模拟按下Home键。 ##### 返回键 - `adb shell input keyevent 4`:模拟按下返回键。 ##### 音量控制 - `adb shell media volume --stream <stream> --set <level>`:调整音量。 ##### 媒体控制 - `adb shell media button KEY_MEDIA_PLAY_PAUSE`:播放/暂停媒体。 ##### 点亮/熄灭屏幕 - `adb shell input keyevent 224`:点亮屏幕。 - `adb shell input keyevent 223`:熄灭屏幕。 ##### 滑动解锁 - `adb shell input swipe <x1> <y1> <x2> <y2>`:模拟滑动操作。 ##### 输入文本 - `adb shell input text <text>`:输入文本。 #### 查看日志 ##### Android日志 - `adb logcat`:显示日志。 ##### 按级别过滤日志 - `adb logcat *:<level>`:按日志级别过滤。 ##### 按tag和级别过滤日志 - `adb logcat <tag>:<level>`:按标签和级别过滤。 ##### 日志格式 - `adb logcat -v <format>`:设置日志格式。 ##### 清空日志 - `adb logcat -c`:清空日志缓冲区。 ##### 内核日志 - `adb shell dmesg`:显示内核日志。 #### 查看设备信息 ##### 型号 - `adb shell getprop ro.product.model`:获取设备型号。 ##### 电池状况 - `adb shell dumpsys battery`:查看电池状态。 ##### 屏幕分辨率 - `adb shell wm size`:获取屏幕分辨率。 ##### 屏幕密度 - `adb shell wm density`:获取屏幕密度。 ##### 显示屏参数 - `adb shell dumpsys display`:获取显示屏参数。 ##### android_id - `adb shell settings get secure android_id`:获取Android ID。 ##### IMEI - `adb shell service call iphonesubinfo 1`:获取IMEI号码。 ##### Android系统版本 - `adb shell getprop ro.build.version.release`:获取Android版本。 ##### Mac地址 - `adb shell cat /sys/class/net/wlan0/address`:获取WLAN MAC地址。 ##### CPU信息 - `adb shell cat /proc/cpuinfo`:获取CPU信息。 #### 实用功能 ##### 屏幕截图 - `adb shell screencap -p > screenshot.png`:截取屏幕图片。 ##### 录制屏幕 - `adb shell screenrecord /sdcard/video.mp4`:录制屏幕。 ##### 重新挂载system分区为可写 - `adb remount`:重新挂载system分区。 ##### 查看连接过的WiFi密码 - `adb shell cat /data/misc/wifi/WifiConfigStore.xml`:查看保存的WiFi密码。 ##### 设置系统日期和时间 - `adb shell date <date>`:设置系统日期。 - `adb shell time <time>`:设置系统时间。 ##### 重启手机 - `adb reboot`:重启设备。 ##### 检测设备是否已root - `adb shell which su`:检查是否存在超级用户权限。 ##### 使用Monkey进行压力测试 - `adb shell monkey <options>`:进行随机事件的压力测试。 #### 刷机相关命令 ##### 重启到Recovery模式 - `adb reboot recovery`:重启进入Recovery模式。 ##### 从Recovery重启到Android - `adb reboot`:重启到系统。 ##### 重启到Fastboot模式 - `adb reboot bootloader`:重启到Fastboot模式。 ##### 通过sideload更新系统 - `fastboot flashall`:通过fastboot更新系统。 #### 更多adb shell命令 ##### 查看进程 - `adb shell ps`:查看正在运行的进程。 ##### 查看实时资源占用情况 - `adb shell top`:查看CPU和内存使用情况。 #### 其他 ##### 参考链接 - [官方文档](https://developer.android.com/studio/command-line/adb) - [ADB命令大全](https://www.mzlogin.com/adb-command/) - [ADB命令详解](https://developer.android.com/studio/command-line/adb#using_adb) 以上就是ADB的一些常见和高级用法,希望能帮助到开发者们更高效地进行Android应用的开发和测试工作。































- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 生成式AI技术在地质学研究中的创新应用.docx
- 商业保险公司互联网个人意外险的风险管理与策略研究.docx
- 生成式AI在传统手工艺传承中的应用与潜在影响.docx
- 生成式人工智能服务中的侵权责任解析与制度完善探索.docx
- 生成式AI在图书馆服务中的应用:挑战与伦理考量.docx
- 生成式人工智能在国际传播中的应用与新质生产力的关系研究.docx
- 生成式人工智能合理使用制度构建与法律保障研究.docx
- 生成式人工智能在高校图书馆的应用与影响.docx
- 数据库审计系统:技术架构与实施方案研究.docx
- 时域算法在配电网故障定位中的优化应用研究.docx
- 数学建模常见算法解析与应用研究.docx
- 算法时代青年价值观塑造的双重影响及应对策略.docx
- 算法歧视问题的治理措施.docx
- 探索人工智能在非物质文化遗产保护中的应用与创新路径.docx
- 网络安全运维服务采购需求及实施方案探讨.docx
- 细胞代谢重编程的实验方法与技术研究进展.docx


