adb 工具使用
检查状态与定位问题
adb devices · 列出已连接的 Android 设备
更多信息:https://manned.org/adb。
- 列出设备:
bash
adb devices- 列出设备及其系统信息:
bash
adb devices -ladb 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 模拟器或已连接的安卓设备
- 向模拟器/设备推送安卓 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 {{路径/到/应用}}.apkadb uninstall · 卸载一个软件包
更多信息:https://manned.org/adb。
- 卸载一个软件包:
bash
adb uninstall {{com.example.app}}- 卸载软件包,但是保留用户数据:
bash
adb uninstall -k {{com.example.app}}传输、归档与备份
adb connect · 通过无线连接到 Android 设备
- 与一个安卓设备配对(可在开发者选项中,找到地址和配对码):
bash
adb pair {{ip_地址}}:{{端口}}- 与一个安卓设备连接(端口与配对时存在差异):
bash
adb connect {{ip_地址}}:{{端口}}- 断开与设备的连接:
bash
adb disconnect {{ip_地址}}:{{端口}}adb disconnect · 该命令已移动到 adb connect
该命令已移动到
adb connect。
- 查看
adb disconnect的文档:
参见 adb connect。
adb forward · 将主机端口转发到已连接设备端口
- 转发一个 TCP 端口:
bash
adb forward tcp:{{本地_端口}} tcp:{{远程_端口}}- 列出所有转发规则:
bash
adb forward --list- 移除转发规则:
bash
adb forward --remove tcp:{{本地_端口}}- 移除所有转发规则:
bash
adb forward --remove-alladb reverse · 安卓调试桥-反射: 反向映射安卓模拟器实例或者已连接的实体设备的套接字连接
- 列出所有来自模拟器和设备的映射连接:
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 fastbootadb shell · 安卓调试桥-Shell: 运行安卓模拟器或者连接设备上的远程终端命令
- 启动模拟器/设备上的远程终端:
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。
继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置