ADB是什么?
Adb的全称为Android Debug Bridge:android调试桥梁,下图为Android官方对adb的介绍:
可以看出,Android的初衷是用adb这样的一个工具来协助开发人员在开发android应用的过程中更快更好的调试apk,因此adb具有安装卸载apk、拷贝推送文件、查看设备硬件信息、查看应用程序占用资源、在设备执行shell命令等功能;
我们可以在android sdk安装目录的platform-tools目录下找到adb工具:
ADB架构
ADB是一个C/S架构的应用程序,由三部分组成:
1、运行在pc端的adb client:
命令行程序”adb”用于从shell或脚本中运行adb命令。首先,“adb”程序尝试定位主机上的ADB服务器,如果找不到ADB服务器,“adb”程序自动启动一个ADB服务器。接下来,当设备的adbd和pc端的adb server建立连接后,adb client就可以向ADB servcer发送服务请求;
2、运行在pc端的adb server:
ADB Server是运行在主机上的一个后台进程。它的作用在于检测USB端口感知设备的连接和拔除,以及模拟器实例的启动或停止,ADB Server还需要将adb client的请求通过usb或者tcp的方式发送到对应的adbd上;
3、运行在设备端的常驻进程adb demon:
程序“adbd”作为一个后台进程在Android设备或模拟器系统中运行。它的作用是连接ADB服务器,并且为运行在主机上的客户端提供一些服务;
ADB常用命令
查看已连接设备:adb devices
强制覆盖安装APK: adb install –r ,参数-r 可选,代表强制安装,如果不加-r,覆盖安装会失败
卸载apk:adb uninstall <packagename>
首先通过aapt程序获取到需要卸载apk的包名(packagename):com.pafinancialtech.zijinbank
推送文件到设备:adb push <本地文件路径> <远程文件路径>
本地文件路径:/Users/darylzhang/Downloads/ZijinBank_new.apk
远程文件路径:/data/local/tmp
从设备拷贝文件到电脑: adb pull <远程文件路径> <本地文件路径>
远程文件路径:/data/local/tmp/ZijinBank_new.apk
本地文件路径:/Users/darylzhang/Downloads/ZijinBank_new.apk
查看对应设备日志:adb logcat
在设备执行shell:adb shell
ADB进阶-无线ADB
1、通过adb usb打开设备上的tcpip服务并绑定一个端口:adb tcpip 5555
2、ADB Client通过命令:adb connect ip连接远程的终端
3、随后就可以正常执行adb命令