adb工具

1、adb工具构成及原理

  • adb 包含了三个部分
    • adb客户端 用来下发adb的指令工具
    • Server 客户端  adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行 通信
    • adb守护进程 随着Android系统的启动而启动,当Android系统关闭之后它才会关闭

 

 

 2、adb常用命令

首先打开MuMu模拟器,在设置中找到开发者选择,开启USB调试

 

 

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' launchable
      activity: 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的时间值,那么在实际的测试过程当,会进⾏多次测试,然后取平均值。

 

 

 

posted on 2021-07-09 21:40  晴天,  阅读(1352)  评论(0)    收藏  举报