adb相关

adb的构成和工作原理

ADB,Android Debug Bridge,是一个调试工具

adb构成:

  • Client端:运行在开发机器中,即你的开发电脑,用来发送adb命令;
  • Daemon守护进程:运行在调试设备中,手机或模拟机,用来接收并执行adb命令
  • Server端:同样运行在开发机器中,用来管理Client端和手机的Daemon之间的通信

adb工作原理

  1. client端将命令发送给server端
  2. server端会将命令发送给daemon端
  3. daemon端执行命令,并将执行结果返回给server端
  4. server端将结果再返回给client端

【小结】adb工具可以在电脑通过终端命令操作安卓手机/模拟器

adb常用命令

获取包名和界面名

  • 包名和页面名的概念
    • 包名(package):决定程序的唯一性(不是应用的名字)
    • 界面名(activity):目前可以理解为,一个界面名对应一个界面
  • 如何获取包名和应用名

Mac/Linux:

adb she1l dumpsys window windows | grep mFocusedApp

Windows:

adb she1l dumpsys window windows | findstr mFocusedApp
  • 应用场景:

               自动化测试需要通过代码的形式告诉手机测试哪个应用程序的哪一个界面,所以需要通过这个命令进行获取

示例:
1. 现在模拟机或手机中打开《设置》应用程序
2. 输入对应平台的命令
结果如下:

mFocusedApp=AppwindowToken{5B309da token=Token{2e2fa785ActivityRecord{2928d4fc u0 com.android.settings/.Settings t1127}}}

其中:
包名为:com.android.settings
界面名为:.Settings

文件传输

  • 从电脑发送文件到手机
adb push 电脑的文件路径 手机的文件夹路径
  • 从手机中拉取文件到电脑
adb pull 手机的文件路径 电脑的文件夹路径
  • 应用场景
    • 如果希望将电脑的某个文件,发送到手机,使用 adb push 命令
    • 如果希望将手机上的某个文件,发送到电脑,使用 adb pull 命令

 获取app启动时间

  • 命令格式
adb shell am start -W 包名/启动名

1. ThisTime:该界面(activity)启动耗时(毫秒)
2. TotalTime:应用自身启动耗时 = ThisTime + 应用application等资源启动时间(毫秒)
3. WaitTime:系统启动应用耗时 = TotalTime + 系统资源启动时间(毫秒)

  • 应用场景
    • 如果企业对应用程序的启动速度有要求,则需要使用这个命令进行测试
    • 测试标准:参照同类软件,启动时间不能超出一倍即可

获取手机日志

  • 如何获取
adb logcat
  • 使用步骤
    •  打开需要测试的应用程序
    • 找到触发bug 的位置
    • 使用查看日志命令
    • 触发bug
    • 获取日志信息
  • 应用场景
    • 将bug的日志信息发送给开发人员,便于开发人员定位bug

其他命令【了解】

序号命令说明
01adb install 路径/xx.apk安装app到手机
02adb uninstall 包名卸载手机上的app,需要指定包名
03adb devices获取当前电脑已经连接设备和对应的设备号
04adb shell进入到安卓手机内部的linux系统命令行中
05adb start-server启动adb客户端,出bug时使用可以重启服务器,先关闭再启动
06adb kill-server停止adb客户端,出bug时使用可以重启服务器,先关闭再启动
07adb --help查看adb帮助,命令记不清楚时有用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值