一、简介
adb全称(Android Debug Bridge),它是一个通用命令行工具,它可以做为Android与PC端连接的一个桥梁,所以adb又称为Android调试桥,用户可以通过adb在电脑上对Android设备进行全面操作,比如安装和调试应用,操作文件的传输等。
二、环境搭建
-
安装方法1:通过homebrew安装
-
安装homebrew(终端输入命令)
-
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
-
输入1回车,安装成功后会有提示
-
-
通过brew安装adb(终端输入命令)
-
brew install android-platform-tools
-
-
重启终端,检查启动adb(设备连接查看第三步)
-
-
安装方法2:自行下载platform-tools包,配置环境变量
-
访问android dev tools,下载platform-tools包
-
下载后解压到任意路径
-
配置环境变量,以bash举例(终端默认)
-
进入配置文件
-
vi ~/.bash_profile
-
-
添加环境变量
-
export PATH=${PATH}:/Users/apple/Library/Android/sdk/platform-tools
其中"
/Users/apple/Library/Android/sdk/
"替换为刚刚解压的路径其中"platform-tools"替换为刚刚解压出来的文件夹名称
-
-
-
-
-
重启终端,或者source ~/.bash_profile生效配置
- 验证adb(设备连接查看第三步)
-
三、设备连接
- 打开开发者选项
- 打开USB调试
- 【小米/红米】需打开USB安装、USB调试(安全设置);前者用于通过adb安装apk,后者一般用于UI自动化;
- 【关闭安装确认弹窗】部分设备通过adb安装时端上会有确认弹窗,开发者选项中关闭USB安装校验(通过USB验证应用)即可;
- 数据线连接模式:绝大多数设备,默认选择传输文件模式即可。开发者选项中有一个"仅充电"模式下允许ADB调试,如果设备默认选择的连接模式不是充电模式,关闭这个选项即可;或者调整默认连接模式;
- 允许USB调试弹窗
- 当我们按上面的步骤打开设置后,用可以传输数据的数据线连接设备,设备上会弹出该弹窗;勾选一律允许,点击确定
- 如果未弹出,可以在终端输入adb devices查看是否弹出;
- 如果不小心关闭,拔掉线重新插上再试;
- 在终端中查看连接是否成功
- 输入adb devices
-
连接状态信息
-
device状态:这个状态表示设备或者模拟器已经连接到adb服务器上。但是这个状态并不代表物理手机设备或者模拟器已经启动完毕并可以进行操作,因为Android系统在启动时会先连接到adb服务器上,但android系统启动完成后,设备或者模拟器通常是这个状态。
-
unauthorized状态:这个状态表示未授权,需要检查上述开发者选项的配置。
-
offline状态:这个状态表明设备或者模拟器没有连接到adb服务器或者没有响应。
-
no device状态:这个状态表示没有物理设备或者模拟器连接。
-
- 指定设备执行
- 当连接多台设备时,adb devices会返回所有已连接设备的序列号;如果仅需要操作指定设备,可以通过“-s
”来操作,serial-number就是前面获取到的序列号;
- 当连接多台设备时,adb devices会返回所有已连接设备的序列号;如果仅需要操作指定设备,可以通过“-s
- 【5073端口冲突】当我们使用adb时,要求电脑上不安装其他与Android设备交互的应用,例如应用宝、豌豆荚、xx手机助手等等;如果已经安装,即使没有启动,这些应用在后台会有adbSevier的进程占用5073端口;
- 解决方案1:卸载这类应用
- 解决方案2:关闭占用adb的进程
- 解决方案3:更换adb端口 adb -P
start-server
四、常用命令
- 【获取设备详细信息】adb devices -l
- 【安装应用】adb install
- 【覆盖安装/强制安装】adb install -r
-
【显示已安装应用列表】adb shell pm list packages
-
参数 显示列表 无
所有应用 -f 显示应用关联的 apk 文件 -d 只显示 disabled 的应用 -e 只显示 enabled 的应用 -s 只显示系统应用 -3 只显示第三方应用 -i 显示应用的 installer -u 包含已卸载应用 包含
字符串 -
【查看当前运行的Activity】adb shell dumpsys activity activities | grep "mResumedActivity"
- 【卸载应用】adb uninstall
- 【查看应用详细信息】adb shell dumpsys package
- 可以获取 Activity Resolver Table、Registered ContentProviders、包名、userId、安装后的文件资源代码等路径、版本信息、权限信息和授予状态、签名版本信息等。
- 【查看应用安装路径】adb shell pm path
- 【启动应用/调起Activity】adb shell am start [options]
- 【可以用于触发deeplink跳转】adb shell am start deeplink_url
- 【小扩展】通过我之前分享的Utools工具,也可以将URL转化成二维码,扫码触发deeplink跳转
uTools官网 - 新一代效率工具平台
- 【从模拟器/设备下载指定文件到计算机】adb pull
[local] - 【将指定的文件从计算机上传到模拟器/设备】adb push [local]
- 【查看手机cpu 是64位还是32位】adb shell getprop ro.product.cpu.abi
- 【查看某个应用日志】adb logcat | grep "
" - 【进入手机系统】adb shell
- 【将test文案输入到手机输入框】adb shell input text "text"
五、常用拓展知识
努力只能及格,拼命才能优秀~
来源地址:https://blog.csdn.net/yaoliang_cui/article/details/127846374