Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

adb 工具使用 ​

检查状态与定位问题 ​

adb devices · 列出已连接的 Android 设备 ​

更多信息:https://manned.org/adb。

  • 列出设备:
bash
adb devices
  • 列出设备及其系统信息:
bash
adb devices -l

adb logcat · 转储系统消息日志 ​

更多信息:https://developer.android.com/tools/logcat。

  • 显示系统日志:
bash
adb logcat
  • 显示符合正则表达式的行:
bash
adb logcat -e {{正则表达式}}
  • 显示特定优先级下(V:详细,D:调试,I:信息,W:警告,E:错误,F:严重错误,S:静默)标记的日志,过滤掉其他标记:
bash
adb logcat {{标记}}:{{最低优先级}} *:S
  • 在详细(V)模式下显示 React Native 应用程序的日志,静默(S)其他标记:
bash
adb logcat ReactNative:V ReactNativeJS:V *:S
  • 显示优先级为警告(W)及以上的所有标签的日志:
bash
adb logcat *:W
  • 显示特定 PID 的日志:
bash
adb logcat --pid {{pid}}
  • 显示某个特定软件包的进程日志:
bash
adb logcat --pid $(adb shell pidof -s {{软件包}})
  • 给日志着色(通常与过滤器一起使用):
bash
adb logcat -v color

创建、修改与转换 ​

adb install · 安卓调试桥 -Install: 将应用安装包推送到 Android 模拟器或已连接的安卓设备 ​

更多信息:https://developer.android.com/tools/adb。

  • 向模拟器/设备推送安卓 app:
bash
adb install {{路径/到/应用}}.apk
  • 向特定的模拟器/设备推送安卓 app(覆盖 $ANDROID_SERIAL):
bash
adb -s {{序列号}} install {{路径/到/应用}}.apk
  • 重装 app, 保持原有数据:
bash
adb install -r {{路径/到/应用}}.apk
  • 推送一个允许版本代码降级的安卓 app(仅适用于可调试的软件包):
bash
adb install -d {{路径/到/应用}}.apk
  • 安装时授予应用请求的运行时权限(不是任意系统权限):
bash
adb install -g {{路径/到/应用}}.apk
  • 快速部署模式,仅更新 APK 更改过的部分:
bash
adb install --fastdeploy {{路径/到/应用}}.apk

adb uninstall · 卸载一个软件包 ​

更多信息:https://manned.org/adb。

  • 卸载一个软件包:
bash
adb uninstall {{com.example.app}}
  • 卸载软件包,但是保留用户数据:
bash
adb uninstall -k {{com.example.app}}

传输、归档与备份 ​

adb connect · 通过无线连接到 Android 设备 ​

更多信息:https://developer.android.com/tools/adb。

  • 与一个安卓设备配对(可在开发者选项中,找到地址和配对码):
bash
adb pair {{ip_地址}}:{{端口}}
  • 与一个安卓设备连接(端口与配对时存在差异):
bash
adb connect {{ip_地址}}:{{端口}}
  • 断开与设备的连接:
bash
adb disconnect {{ip_地址}}:{{端口}}

adb disconnect · 该命令已移动到 adb connect ​

该命令已移动到 adb connect。

  • 查看 adb disconnect 的文档:

参见 adb connect。

adb forward · 将主机端口转发到已连接设备端口 ​

更多信息:https://developer.android.com/tools/adb。

  • 转发一个 TCP 端口:
bash
adb forward tcp:{{本地_端口}} tcp:{{远程_端口}}
  • 列出所有转发规则:
bash
adb forward --list
  • 移除转发规则:
bash
adb forward --remove tcp:{{本地_端口}}
  • 移除所有转发规则:
bash
adb forward --remove-all

adb reverse · 安卓调试桥-反射: 反向映射安卓模拟器实例或者已连接的实体设备的套接字连接 ​

更多信息:https://developer.android.com/tools/adb。

  • 列出所有来自模拟器和设备的映射连接:
bash
adb reverse --list
  • 将 TCP 端口从安卓模拟器或设备中映射到 localhost:
bash
adb reverse tcp:{{远程端口}} tcp:{{本地端口}}
  • 从安卓模拟器或设备移除一个反向 socket 连接:
bash
adb reverse --remove tcp:{{远程端口}}
  • 从安卓模拟器或设备移除所有反向 socket 连接:
bash
adb reverse --remove-all

环境、会话与自动执行 ​

adb reboot · 重启已连接的 Android 设备或模拟器 ​

更多信息:https://manned.org/adb。

  • 正常重启设备:
bash
adb reboot
  • 重启设备到引导加载程序模式:
bash
adb reboot bootloader
  • 重启设备到恢复模式:
bash
adb reboot recovery
  • 重启设备到 fastboot 模式:
bash
adb reboot fastboot

adb shell · 安卓调试桥-Shell: 运行安卓模拟器或者连接设备上的远程终端命令 ​

更多信息:https://developer.android.com/tools/adb。

  • 启动模拟器/设备上的远程终端:
bash
adb shell
  • 获取模拟器/设备全部属性:
bash
adb shell getprop
  • 重置所有运行时权限为它们的默认值:
bash
adb shell pm reset-permissions
  • 撤销一个应用的危险权限:
bash
adb shell pm revoke {{包名}} {{权限}}
  • 触发一个键盘敲击事件:
bash
adb shell input keyevent {{键位码}}
  • 清除指定应用包的数据(不是擦除整个设备):
bash
adb shell pm clear {{包名}}
  • 启动模拟器/设备上的一个行为:
bash
adb shell am start -n {{包名}}/{{活动名}}
  • 启动模拟器/设备上的首页活动:
bash
adb shell am start -W -c android.intent.category.HOME -a android.intent.action.MAIN

专用工具与其他操作 ​

adb · 安卓调试桥:与 Android 模拟器或已连接的 Android 设备通信 ​

此命令也有关于其子命令的文件,例如:shell。 更多信息:https://developer.android.com/tools/adb。

  • 检查 adb server 进程的是否在运行,并开启它:
bash
adb start-server
  • 终止 adb server 进程:
bash
adb kill-server
  • 在目标模拟器 / 设备实例上开启一个远程 shell:

参见 adb shell。

  • 将 Android 应用程序推送到模拟器 / 设备:

参见 adb install。

  • 从目标设备上拷贝一个文件 / 目录到本地:
bash
adb pull {{路径/到/设备的文件或目录}} {{路径/到/本地目录}}
  • 从本地拷贝一个文件 / 目录到目标设备:
bash
adb push {{路径/到/本地文件或目录}} {{路径/到/设备目录}}
  • 列出已连接的设备:

参见 adb devices。

  • 当有多个设备连接时,指定目标设备执行命令:
bash
adb -s {{设备_id}} {{shell}}

adb pair · 该命令已移动到 adb connect ​

该命令已移动到 adb connect。

  • 查看 adb pair 的文档:

参见 adb connect。


示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读