ADB命令:修订间差异

来自Uotan Wiki · 刷机百科
无编辑摘要
无编辑摘要
第3行: 第3行:
列出所有连接设备及其序列号:
列出所有连接设备及其序列号:


adb devices
<code>adb devices</code>


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


export ANDROID_SERIAL=<设备序列号>
<code>export ANDROID_SERIAL=<设备序列号></code>


adb shell ls
<code>adb shell ls</code>


多设备下连接指定设备
多设备下连接指定设备


adb -s 序列号 shell
<code>adb -s 序列号 shell</code>


可以通过网络来连接 ADB:
可以通过网络来连接 ADB:
第19行: 第19行:
<nowiki>#</nowiki> 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听
<nowiki>#</nowiki> 让设备端的 adbd 重启,并在 TCP 端口 5555 处监听


adb tcpip 5555
<code>adb tcpip 5555</code>


<nowiki>#</nowiki> 此时可以断开 USB 连接
<nowiki>#</nowiki> 此时可以断开 USB 连接
第25行: 第25行:
<nowiki>#</nowiki> 远程连接设备,设备的 IP 地址是 192.168.1.100
<nowiki>#</nowiki> 远程连接设备,设备的 IP 地址是 192.168.1.100


adb connect 192.168.1.100:5555
<code>adb connect 192.168.1.100:5555</code>


<nowiki>#</nowiki> 断开连接
<nowiki>#</nowiki> 断开连接


adb disconnect 192.168.1.100:5555
<code>adb disconnect 192.168.1.100:5555</code>


调试
调试


获取系统日志 adb logcat
获取系统日志 <code>adb logcat</code>


用法
用法


adb logcat [选项] [应用标签]
<code>adb logcat [选项] [应用标签]</code>


示例
示例
第43行: 第43行:
<nowiki>#</nowiki> 查看全部日志
<nowiki>#</nowiki> 查看全部日志


adb logcat
<code>adb logcat</code>


<nowiki>#</nowiki> 仅查看部分日志
<nowiki>#</nowiki> 仅查看部分日志


adb logcat -s WifiStateMachine StateMachine
<code>adb logcat -s WifiStateMachine StateMachine</code>


运行命令 adb shell
运行命令 adb shell


获取详细运行信息 adb bugreport
获取详细运行信息 <code>adb bugreport</code>


adb bugreport 用于错误报告,里面包含大量有用的信息。
<code>adb bugreport</code> 用于错误报告,里面包含大量有用的信息。


示例
示例


adb bugreport
<code>adb bugreport</code>


<nowiki>#</nowiki> 保存到本地,方便用编辑器查看
<nowiki>#</nowiki> 保存到本地,方便用编辑器查看


adb bugreport >bugreport.txt
<code>adb bugreport >bugreport.txt</code>


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


adb root
<code>adb root</code>


让 ADB 的设备端切换到 root 权限模式,这样 adb remount 等需要 root 权限的命令才会成功。
让 ADB 的设备端切换到 root 权限模式,这样 adb remount 等需要 root 权限的命令才会成功。
第73行: 第73行:
应用管理
应用管理


安装应用 adb install
安装应用 <code>adb install</code>


用法:
用法:


adb install [选项] 应用包.apk
<code>adb install [选项] 应用包.apk</code>


选项包括:
选项包括:
第91行: 第91行:
<nowiki>#</nowiki> 安装 facebook.apk
<nowiki>#</nowiki> 安装 facebook.apk


adb install facebook.apk
<code>adb install facebook.apk</code>


<nowiki>#</nowiki> 升级 twitter.apk
<nowiki>#</nowiki> 升级 twitter.apk


adb install -r twitter.apk
<code>adb install -r twitter.apk</code>


如果安装成功,工具会返回成功提示 Success;失败的话,一般是以下几种情况:
如果安装成功,工具会返回成功提示 Success;失败的话,一般是以下几种情况:
第105行: 第105行:
INSTALL_FAILED_INSUFFICIENT_STORAGE: 存储空间不足,需要检查设备存储情况。
INSTALL_FAILED_INSUFFICIENT_STORAGE: 存储空间不足,需要检查设备存储情况。


卸载应用 adb uninstall
卸载应用 <code>adb uninstall</code>


用法:
用法:


adb uninstall 应用包名称
<code>adb uninstall</code> 应用包名称


示例:
示例:
第117行: 第117行:
应用包名称可以用以下命令列出:
应用包名称可以用以下命令列出:


adb shell pm list packages -f
<code>adb shell pm list packages -f</code>


运行结果是:
运行结果是:

2024年2月15日 (四) 02:22的版本

连接管理

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

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

调试

获取系统日志 adb logcat

用法

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

示例

# 查看全部日志

adb logcat

# 仅查看部分日志

adb logcat -s WifiStateMachine StateMachine

运行命令 adb shell

获取详细运行信息 adb bugreport

adb bugreport 用于错误报告,里面包含大量有用的信息。

示例

adb bugreport

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

adb bugreport >bugreport.txt

root 权限

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

adb root

让 ADB 的设备端切换到 root 权限模式,这样 adb remount 等需要 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: 应用的签名不一致,可能是发布版和调试版签名不同所致。如果确认 APK 文件签名正常,可以用 adb uninstall 命令先卸载旧的应用,然后再安装。

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 文件,后面则是对应的包名称。