1. Android 调试桥
adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。
Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。
2. adb工作原理
启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。
2.1 启动adb调试
要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中启用 USB debugging(位于 Developer options 下)。
在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。
注:当您连接运行 Android 4.2.2 或更高版本的设备时,系统将显示一个对话框,询问您是否接受允许在这台计算机上调试的 RSA 密钥。
这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 ADB 命令。
2.2 adb常用命令
2.2.1 查看版本
adb version
2.2.2 查看设备信息
adb devices
2.2.3 在设备安装apk
adb install | -r <apkName> -r 覆盖原安装文件 -s 可以指定设备
默认安装
adb install "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"
覆盖安装
adb install -r "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"
指定设备安装
adb -s 127.0.0.1:62001 install "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"
遇到报错,解决方法
在cmd命令行执行以下命令:
第一步、adb remount
第二步、adb shell
第三步、cd/data
第四步、chmod 777 local
最后、 重新安装apk,就妥妥的了!!
2.2.4 卸载apk
1.首先进入设备的/data/app目录找到app包名
adb shell cd /data/app/
2.执行命令删除
adb uninstall | -k <apkName> 卸载软件
adb uninstall com.wandoujia.phoenix2
Tips:安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。 软件名称为包名,不要包含.apk
-k 加 -k 参数,为卸载软件但是保留配置和缓存文件.
2.2.5 查看设备上安装的应用包名
adb shell pm list package
2.2.6 文件读取写入
将文件从PC写入到设备
adb push <local> <remote>
eg:
adb push C:\Users\carl_DJ\Desktop\kyb.txt /sdcard
将文件从设备读取到PC
adb pull <remote> <local>
eg:
adb pull /sdcard/server.log C:\Users\carl_DJ\Desktop
注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:
C:\Users\carl_DJ>adb pull /sdcard/server.log D:\\
adb: error: cannot create file/directory ‘D:\’: No such file or directory
2.2.7 屏幕截屏
$ adb shell screencap /sdcard/screen.png adb pull /sdcard/screen.png C:\Users\carl_DJ\Desktop
2.2.8 adb服务启动和关闭
关闭adb服务
adb kill-server #关闭adb服务
开启adb服务
adb start-server #开启adb服务
2.3 小结
1.adb是自动化非常重要的一个工具;
2.目前很多PC客户端手机助手也是基于adb连接原理进行封装的;
3.可以将常用的adb命令封装成bat命令,随时可以运行。
如:
adbdevices.bat
adb devices pause
AdbConnect.bat
adb connect 127.0.0.1:62025 adb devices pause