ADB命令

来自Uotan Wiki · 刷机百科
Iibchara-dev讨论 | 贡献2024年2月16日 (五) 00:34的版本

连接管理

列出所有连接设备及其序列号:

adb devices

如果有多个连接设备,则需要使用序列号来区分:

export ANDROID_SERIAL=<设备序列号>
adb shell ls

多设备下连接指定设备

adb -s 序列号 shell

可以通过网络来连接 ADB: 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听

adb tcpip 5555

此时可以断开 USB 连接 远程连接设备,设备的 IP 地址是 192.168.1.100

adb connect 192.168.1.100:5555

断开连接

adb disconnect 192.168.1.100:5555

注:在安卓11及以上版本中,可以直接在开发者选项中启用无线调试

调试

获取系统日志

adb logcat

用法

adb logcat [选项] [应用标签]
示例

查看全部日志

adb logcat

仅查看部分日志

adb logcat -s WifiStateMachine StateMachine


adb bugreport用于错误报告,里面包含大量详细运行信息。

示例
adb bugreport

保存到本地,方便用编辑器查看

adb bugreport >bugreport.txt

root 权限

如果TARGET_BUILD_VARIANT使用的是 userdebug 模式,要获得 root 权限,需要先运行:

adb root

让 ADB 的设备端切换到 root 权限模式,这样 adb remount 等需要 root 权限的命令才会成功。

注:如果 TARGET_BUILD_VARIAN 使用的是 eng 模式,则 adb 默认为 root 权限不需要切换

应用管理

安装应用

adb install
用法
adb install [选项] 应用包.apk

选项包括:

-l forward-lock

-r 重新安装应用,保留原先数据

-s 安装到 SD 卡上,而不是内部存储

示例

安装 facebook.apk

adb install facebook.apk

升级 twitter.apk

adb install -r twitter.apk

如果安装成功,工具会返回成功提示 Success;失败的话,一般是以下几种情况:

INSTALL_FAILED_ALREADY_EXISTS: 此时需要用 -r 参数来重新安装。

INSTALL_FAILED_SIGNATURE_ERROR: 应用的签名不一致,可能是发布版和调试版签名不同所致。

INSTALL_FAILED_INSUFFICIENT_STORAGE: 存储空间不足,需要检查设备存储情况。


卸载应用

adb uninstall

用法:

adb uninstall 应用包名称

示例:

adb uninstall com.android.chrome

应用包名称可以用以下命令列出:

adb shell pm list packages -f

运行结果是:

package:/system/app/Bluetooth.apk=com.android.bluetooth

前面是 apk 文件,后面则是对应的包名称。