adb工具
1、adb工具构成及原理
- adb 包含了三个部分
- adb客户端 用来下发adb的指令工具
- Server 客户端 adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行 通信
- adb守护进程 随着Android系统的启动而启动,当Android系统关闭之后它才会关闭
2、adb常用命令
2.1adb常用命令(常看设备、启动关闭adb服务)
如果是真机,不要使用一带多接头的数据线,否则找不到手机设备
mac启动:
- adb devices 常看手机的设备ID名称以及状态
emulator-5554 device emulator-5554表示的是?机设备的ID名称, device表示设备处于在线状态,
如果不在线显示的是offlfflffline 如果adb服务没有启动,下发该命令时,会?动的去启动adb的服务
- adb start-server 启动adb服务
- adb kill-server 关闭adb 服务
Windows启动:
1.打开MuMu模拟器,点击右上角三条杠-功能教程-连接adb,然后跳转到网页复制MuMu模拟器的端口
2.启动Windows PowerShell命令窗口,输入MuMu模拟器端口
2.2 获取包名和界界面名
- 包名: app包名 ,通过app的包名来区分不同的app,app包名是唯 ?的
- 界?名(启动名): 相当于web??当中的链接地址,在app当中,每个界?都有?个名字
原因:?动化过程当,需要通过app的包名和界?名来启动app。
- 操作步骤: adb命令
-
在?机或者模拟器上?打开app
-
windows命令?:adb shell dumpsys window windows | fifindstr mFocusedApp
-
windows命令?: adb shell dumpsys window |fifindstr "usedApp"
-
com.android.settings/.Settings com.android.settings是包名, .Settings是界?名 通过 / 分隔包名和界?名
LINUX/MacOS命令?: adb shell dumpsys window windows | grep mFocusedApp
LINUX/MacOS命令?: adb shell dumpsys window |grep "usedApp"
先启动一个app
输入以上windows命令?与windows命令?
- 通过aapt获取app的包名和界?名
-
aapt dump badging D:\BaiduNetdiskDownload\apptools\apk\xuechebu.apk 后?表示的是app安装包的路径及名称
-
-
-
包名: package: name=‘com.bjcsxq.chat.carfriend‘ # package:name 后?的字符串表示的是app的包名
-
-
-
界?名: launchable-activity:name=‘com.bjcsxq.chat.carfriend.module_main.activity.SplashActivity‘ launchableactivity: name后?的字符串是界?
-
2.3 安装卸载app
- app安装 adb install 路径/app安装包名称
- app卸载 adb uninstall 包名
2.4 上传下载?件
- 上传 将电脑上的?件上传到?机
adb push 电脑上的?件路径 ?机的路径
例?:adb push ./monkey.txt /sdcard /sdcard就是手机或模拟器上文件管理路径
- 下载?件 从?机上下载?件到本地
adb pull ?机的?件路径 电脑的?件夹路径
例?:adb pull /sdcard/monkey.txt D:\opt
2.5 查看?志信息
- 为什么要获取?志信息:?来给开发定位问题。
- adb logcat 来查看相关的?志信息
2.6 测试app的启动速度(性能测试)
- 测试app启动速度的命令:
adb shell am start -W 包名/界?名
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=com.baidu.homework/.activity.user.passport.ChoiceLoginModeActivity }
Status: ok
Activity: com.baidu.homework/.activity.user.passport.ChoiceLoginModeActivity
ThisTime: 3345
TotalTime: 3345
WaitTime: 3378
- 需要?家关注的是TotalTImie的时间值,那么在实际的测试过程当,会进?多次测试,然后取平均值。