命令行帮助信息 adb help
adb xxx --help
列出所有连接设备及其序列号
adb devices
如果有多个连接设备,则需要使用序列号来区分:
export ANDROID_SERIAL=<设备序列号>
adb shell ls
可以通过网络来连接 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 logcat > logcat.log adb logcat > C:\Users\twl\Desktop\log\logcat.log adb logcat > "%date:~0,4%-%date:~5,2%-%date:~8,2% %time:~0,2%时%time:~3,2%分%time:~6,2%.log"
全部log
adb logcat -b main -b system -b radio -b events -v time > /tmp/all.log
-
运行命令 adb shell
adb shell 命令
示例adb shell chmod 777 xxx
获取详细运行信息 adb bugreport
adb bugreport用于错误报告,里面包含大量有用的信息。
示例adb bugreport # 保存到本地,方便用编辑器查看 adb bugreport >bugreport.txt
-
root 权限
如果 板子 使用的是 userdebug 模式,要获得 root 权限,需要先运行:adb root
让 adb 的设备端切换到 root 权限模式,这样 adb remount 等需要 root 权限的命令才会成功。
应用管理
-
安装应用 adb install
用法:adb install [选项] <文件路径>应用包.apk
选项包括:
-l forward-lock
-r 重新安装应用,保留原先数据
-s 安装到 SD 卡上,而不是内部存储
示例:# 安装 facebook.apk adb install “F:\facebook\facebook.apk” # 升级 twitter.apk adb install -r twitter.apk
-
卸载应用 adb uninstall
用法:adb uninstall 应用包名称
示例:
adb uninstall com.android.chrome
应用包名称可以用以下命令列出:
adb shell pm list packages -f
运行结果是:
package:/system/app/Bluetooth.apk=com.android.bluetooth
前面是 apk 文件,后面则是对应的包名称。
上传和下载
- 从电脑上传文件到设备
用 push 命令可以把本机电脑上的任意文件或者文件夹上传到设备。 本地路径一般指本机电
脑; 远程路径一般指 ADB 连接的单板设备。
adb push <本地路径><远程路径>
示例如下:
adb push “F:\WishTV\WishTV.apk” “system/app”
示例说明: 将本地“WishTV.apk” 文件上传到 Android 系统的“system/app” 目录下。 - 从设备下载文件到电脑
pull 命令可以把设备上的文件或者文件夹下载到本机电脑中。
adb pull <远程路径><本地路径>
示例如下:
adb pull system/app/Contacts.apk F:\
示例说明: 将 Android 系统“system/app” 目录下的文件或文件夹下载到本地“F:\” 目录
下