Adb 介绍¶
Adb
是 Android Debug Bridge 的简称,是 Android 的命令行调试工具,可以完成多种功能,如跟踪系统日志、上传下载文件、安装应用等。
准备工作¶
使用 adb
时,你需要:
使用公对公 USB 线连接电脑和板子的 USB OTG 口:
在跑 Android 的开发板上,选择
Settings
->USB
,然后勾选Connect to PC
选项。基于你的系统安装 adb 驱动和命令。
Adb 在 Windows 下的安装¶
安装 Rockusb 驱动。
下载 adb.zip,然后解压到
C:\adb
。
打开 cmd
窗口然后运行:
C:\adb\adb shell
若成功就会进入 adb shell 。
Adb 在 Ubuntu 下的安装¶
安装 adb 工具:
sudo apt-get install android-tools-adb
添加设备 ID:
mkdir -p ~/.android vi ~/.android/adb_usb.ini # add the following line: 0x2207
为非 root 用户添加 udev 规则:
sudo vi /etc/udev/rules.d/51-android.rules # add the following line: SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666"
重载 udev 规则:
sudo udevadm control --reload-rules sudo udevadm trigger
普通用户下重启 adb:
sudo adb kill-server adb start-server
然后就可以直接使用 adb 了, 如:
adb shell
常用 Adb 命令¶
连接管理¶
列出所有连接设备以及它们的序列号:
adb devices
若没有多连接设备,就必须用序列号来区分:
export ANDROID_SERIAL=<device serial number>
adb shell ls
也可以用 TCP/IP 网络连接 Adb :
adb tcpip 5555
Adb 会在设备上重启并监听 5555 TCP 端口, 这个时候就可以拔出 USB 线了。
如果设备的 IP 地址为 192.168.1.100,执行以下命令连接:
adb connect 192.168.1.100:5555
一旦连接,就可以执行 adb 命令了:
adb shell ps
adb logcat
直到断开 adb 连接:
adb disconnect 192.168.1.100:5555
调试¶
查询系统日志¶
用法:
adb logcat [option] [Application label]
示例:
# 查看所有日志
adb logcat
# 仅查看部分日志
adb logcat -s WifiStateMachine StateMachine
收集 Bug 报告¶
adb bugreport
用来收集错误报告和一些系统信息。
adb bugreport
# 保存到本地,易于编辑和查看
adb bugreport >bugreport.txt
Apk 管理¶
安装 Apk¶
adb install [option] example.apk
选项:
-l 转发锁定
-r 重新安装应用程序以保留原始数据
-s 安装到SD卡而不是内部存储
示例:
# 安装 facebook.apk
adb install facebook.apk
# 升级 twitter.apk
adb install -r twitter.apk
若安装失败,检查下常见原因:
INSTALL_FAILED_ALREADY_EXISTS
: 尝试添加-r
参数再次安装。INSTALL_FAILED_SIGNATURE_ERROR
: APK 签名不一致,这可能是由于签名和调试版本的不同导致的。如果确认APK文件签名是正常的,可以使用adb uninstall
命令卸载旧的应用程序,然后重新安装。INSTALL_FAILED_INSUFFICIENT_STORAGE
: 存储空间不够。
卸载 Apk¶
adb uninstall apk_name
示例:
adb uninstall com.android.chrome
apk 包的名称可以用下面的命令列出:
adb shell pm list packages -f
...
package:/system/app/Bluetooth.apk=com.android.bluetooth
...
Apk文件路径和软件包名称用 =
分隔。