一、adb的工作原理
1.1 adb的概念
ADB : Android Debug Bridge,是一个调试工具。
- 开发安卓应用
- 测试安卓应用
1.2 adb的构成和工作原理
adb 包含三部分
- Client端:运行在开发设备(电脑),发送adb命令
- Daemon 守护进程:运行在调试设备,手机/模拟器,接收或执行adb命令
- Server端 :开发设备,管理Client端和手机的Daemon之间的通信
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IbZvE1yC-1622533269568)(C:\Users\ou\AppData\Roaming\Typora\typora-user-images\image-20210601135500057.png)]](https://img-blog.csdnimg.cn/20210601154318737.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5MTM4MQ==,size_16,color_FFFFFF,t_70)
小结:adb工具可以在电脑通过终端命令对安卓手机/模拟器进行操作
- adb构成
- Client端,在电脑上,负责发送adb命令
- damon守护进程,在手机上,负责接收和执行adb
- server端,在电脑上,负责管理client和daemon之间的通信
- adb工作原理
- client端将命令发送给server端
- server端会将命令发送给daemon端
- demon端进行执行
- 将执行结果,返回给server端
- server端将结果再返回给client端
二、adb 常用命令
2.1 包名和界面名的概念
- 包名(package): 决定程序的唯一性(非应用名)
- 界面名(activity): 一个界面名,对应一个界面。
命令格式
- 获取程序应用名和包名
adb shell dumpsys window windows | findstr mFocusedApp

其中:
- 包名为:
com.android.settings - 界面名:
.Settings
发送文件到手机
adb push C:\Users\ou\Desktop\index.html /storage/emulated/0/Apps拉取手机文件到电脑
adb pull /storage/emulated/0/amap/openamaplocationsdk/alsn.db E:\D盘数据\back-up\2获取app启动时间:启动程序
com.android.settings并进入界面.Settingsadb shell am start -W com.android.settings/.Settings
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tun2IWsU-1622533269570)(C:\Users\ou\AppData\Roaming\Typora\typora-user-images\image-20210601142220475.png)]](https://img-blog.csdnimg.cn/20210601154202401.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5MTM4MQ==,size_16,color_FFFFFF,t_70)
解释
ThisTime: 该界面(activity)启动耗时(毫秒)TotalTime: 应用自身启动耗时 =ThisTime+ 应用application 等资源启动时间(毫秒)WaitTime: 系统启动应用耗时 =TotalTime+ 系统资源启动时间(毫秒)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ReAH8KX-1622533269571)(C:\Users\ou\AppData\Roaming\Typora\typora-user-images\image-20210601142527550.png)]](https://img-blog.csdnimg.cn/20210601154347429.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5MTM4MQ==,size_16,color_FFFFFF,t_70)
获取手机日志
发送命令后会直接进行监听,在控制台打印日志,如果出现App出现错误则会出来下图情况
adb logcat
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EYiU0GbK-1622533482271)(C:\Users\ou\AppData\Roaming\Typora\typora-user-images\image-20210601143340478.png)]](https://img-blog.csdnimg.cn/2021060115445976.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDI5MTM4MQ==,size_16,color_FFFFFF,t_70)
E 开头的位置就是错误的地方
2.2 其他命令
| 序号 | 命令 | 说明 |
|---|---|---|
| 01 | adb install 路径/xx.apk | 安装app到手机 |
| 02 | adb uninstall 包名 | 卸载手机上的app,需要指定包名 |
| 03 | adb devices | 获取当前电脑已经连接设备和对应的设备号。 |
| 04 | adb shell | 进入到安卓手机内部的linux系统命令行 |
| 05 | adb start-server | 启动adb服务端,出bug 时使用可以重启服务器。先关闭再启动 |
| 06 | adb kill-server | 停止adb服务端,出bug时可以重启服务器,先关闭再启动 |
| 07 | adb --help | 查看adb帮助,对命令进行提示 |
版权声明:本文为weixin_44291381原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。