目录

1. adb安卓调试桥

2.adb的组成

3.adb命令的使用举例:

3.1什么是应用包?什么是应用界面?

3.2 adb 命令如何获取应用应用包名和应用界面名?

1. adb安卓调试桥

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的android设备(如xiaomi手机)。它的主要功能有:

  • 运行设备的shell(命令行)
  • 管理模拟器或设备的端口映射
  • 计算机和设备之间上传/下载文件
  • 将本地apk软件安装至模拟器或android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备, 它是开发安卓应用的程序员, 安卓测试开发及测试行业的同学必备的一个调试工具。

adb 的架构

2.adb的组成

从下图可以看出adb的组成包含三部分:adb client; adb daemon;adb server, 分别代表:

  1. 客户端:该组件发送命令。客户端在开发计算机上运行。可以通过发出 adb 命令从命令行终端调用客户端。
  2. 后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
  3. 服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。

3.adb命令的使用举例:

3.1什么是应用包?什么是应用界面?

使用adb可以发送指令从而控制手机执行各种任务,具体的adb 命令有很多,功能也很全面,这里举个例子,如何使用adb 命令来获取应用的包名和界面名,首先解释一下什么是应用的包名?什么是应用的界面名?

  • 包名(package):程序app的包名决定程序的唯一性, 它是区别于其他开发程序的一个命名(但是它和应用的名字并不是一回事,请注意区分)
  • 界面名(activity):一个界面名,对应着一个界面,每个界面都是一个activity
  • 包和界面的关系:一个包有多个activity

3.2 adb 命令如何获取应用应用包名和应用界面名?

安卓的自动化测试通常需要获取测试应用的包名及测试所在的具体界面, adb命令正好提供了相应的获取方法:

  • 打开需要测试的应用程序
  • 打开CMD命令窗口, 输入adb命令
  • Mac/Linux平台命令格式:
adb shell dumpsys window windows | grep mFocusedApp
  • Windows平台命令格式:
adb shell dumpsys window windows | findstr mFocusedApp

运行结果如下:

①获取应用包名:

②获取应用界面名

安卓中adb命令工作的底层原理及使用举例相关推荐

  1. 安卓中dumpsys命令使用

    安卓中dumpsys命令使用 adb shell dumpsys,默认打印出当前系统所有的服务名,在后面加上具体的服务名. 一,需要列出当前运行的服务,可运行: adb shell dumpsys | ...

  2. 安卓开发 adb命令使用

    配置adb系统变量 这是我的路径C:\Users\Administrator\AppData\Local\Android\Sdk\platform-tools 添加系统环境变量 连接各模拟器命令 mu ...

  3. Android开发中adb命令的常用方法

    Android的SDK中提供了很多有用的工具,在开发过程中如果能熟练使用这些工具,会让我们的开发事半功倍.adb是SDK提供的一个常用的命令行工具,全称为Android Debug Bridge,用于 ...

  4. adb不是内部或外部命令,AndroidStudio中ADB命令不能用的问题

    写在前面:以下三步,每做完一步,都可以试试adb命令能不能用.三步都做完应该就能解决adb不能用的问题. 1.保证SDK路径下的  platform-tools  和  tools   文件夹中包含 ...

  5. 安卓基于adb命令使用和安装apk程序,程序支持自启动

    1,apk要实现程序自启动? 2,adb命令安装使用. apk要设置程序自启动, a,首先要给清单权限,获取安卓权限. b,设置程序默认欢迎页配置. c,设置为系统程序,加入系统启动. Android ...

  6. oc中block的本质及底层原理

    block的本质 block的种类及储存区域 __block的本质 block的循环引用 前言: 这里就不讨论block的具体写法及使用场景了,因为当你有一天想深入了解block 的底层原理时,你早已 ...

  7. MySQL 工作、底层原理

    mysql原理图各个组件说明 1. connectors 与其他编程语言中的sql 语句进行交互,如php.java等. 2. Admin & Tools  和 Enterprise Serv ...

  8. 安卓常用adb命令汇总

    连接安卓设备:adb connect [ip] 查看连接的所有设备:adb devices 获取Android系统版本: adb shell getprop ro.build.version.rele ...

  9. 【dubbo源码解析】--- dubbo中Invoker嵌套调用底层原理

    本文对应源码地址:https://github.com/nieandsun/dubbo-study 文章目录 1 dubbo中Invoker的重要性 2 dubbo RPC链条中代理对象的底层逻辑 2 ...

最新文章

  1. 10 Java程序员面试宝典视频课程之Servlet
  2. InvalidClassException异常_原理和解决方案
  3. P5253-丢番图【数论】
  4. Silverlight 计时器
  5. 把图片存成视频 python
  6. C# DataSet转ListDataTable
  7. mac中一一些常用的命令
  8. Web前端笔记(10)Grid布局
  9. liunx trac 插件使用之GanttCalendarPlugin
  10. 是时候了!网易首谈AI加持的AR
  11. 【高速PCB电路设计】1.高速PCB设计概述
  12. 阿文PPT教程视频课程2019送PPT模板 我懂个P
  13. mac版docker配置加速
  14. Acmer--弱水三千,只取一瓢
  15. Macbook pro通过蓝牙连接BlackBerry拨号上网
  16. ubuntu无法关机,卡在黑屏界面
  17. sql怎么与oracle连接,sql怎么连接oracle数据库
  18. EMD——EEMD——CEEMD
  19. python 读写h5py文件(转载)
  20. centos 7.6 ——AWstate 日志分析工具——优化域名

热门文章

  1. Importance Weighted Adversarial Nets for Partial Domain Adaptation学习笔记
  2. C# URL编码转换 URL转码 UrlDecode UrlEncode
  3. Silverlight的开发工具
  4. 在eclipse中用java代码测试是否成功连接数据库
  5. 2. Java模板引擎 —— JavaPoet的简单使用
  6. C专家编程(5-6)
  7. java初始化三门课程_[Java] 实验4参考代码
  8. pandas提取数据的6种方法
  9. 上市公司开源的HIS系统,可下载源代码体验
  10. 第三章:电子商务平台选择