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

news2024/11/24 6:34:56

目录

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

 运行结果如下:

①获取应用包名:

②获取应用界面名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c程序从编译开始到运行结束的过程

重温c语言 我们在linux平台下建立一个a.c文件,程序很简单&#xff0c;显示输出Please input your name:&#xff0c;然后让我们输入名字&#xff0c;最后调用了一个子函数输出hello,我们的名字 #include<stdio.h>void hello(char * name);int main(){char name[16]{0};p…

(4E)-TCO-PEG4-acid,1802913-21-8物理性质分享

(4E)-TCO-PEG4-acid物理数据&#xff1a; CAS&#xff1a;1802913-21-8| 中文名&#xff1a;(4E)-反式环辛烯-四聚乙二醇-羧酸 | 英文名&#xff1a; (4E)-TCO-PEG4-acid 结构式&#xff1a; 英文别名&#xff1a; (4E)-TCO-PEG4-COOH TCO4-PEG4-COOH 中文别名&#xff1a…

【Flink】一文解析Flink如何实现状态管理和容错机制

文章目录一 Flink中的状态管理1 有状态的算子和应用程序&#xff08;1&#xff09;算子状态&#xff08;operator state&#xff09;&#xff08;2&#xff09;键控状态&#xff08;keyed state&#xff09;2 状态后端3 选择一个状态后端二 Flink中的容错机制1 一致性检查点&am…

自建传奇2服务器,分享自己架设传奇服务器的详细介绍

我们在经历了太多的传奇私服之后就会有人想要自己搞一个来看看&#xff0c;其实有这样想法的人其实还是很多的&#xff0c;毕竟当一个玩家总没有当一个GM来的实在。于是就有人选择自己去架设传奇私服的服务器&#xff0c;而这个时候我们的信息就能够给这些想要自己当GM的人一个…

uniapp多端问题总结

页面跳转相关 1、页面跳转传参报错 问题&#xff1a; 小程序报错 SyntaxError: Unexpected end of JSON inputat JSON.parse () 原因&#xff1a;是由于JSON.parse无法识别某些url中的特殊字符比如&等特殊符号。解决办法&#xff1a; 原来代码&#xff1a; // 跳转所属专…

【Linux】—一文掌握Linux基本命令(上)

目录lspwdcdtouchmkdirrmdir与rmmantree 的安装cpmvnano的安装catls 语法&#xff1a; ls [选项][目录或文件] 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&#xff0c;将列出文件名以及其他信息。 常用拓展选项&#xff1a; -a 列出…

J-Tech Talk|以型搜型:3D模型表征助力3D神经搜索!

以型搜型指的是 以3D模型搜索3D模型&#xff0c;在对 3D 物体进行模型表征后&#xff0c;通过最近邻搜索得到与之类似的3D物体的结果。Executor-3d-encoder 项目集成了若干个 3D 物体表征模型&#xff0c;开发者可以很方便地对不同的模型进行统一配置、训练和微调。12 月 6 日晚…

网上中国:“云签约”,真方便

文章目录“云签约”&#xff0c;真方便足不出户就能签合同电子签名行业发展迅速确保合同不被篡改“云签约”&#xff0c;真方便 通过线上面签&#xff0c;商品房买卖双方不见面就能完成交易流程&#xff1b;有了电子劳务合同&#xff0c;企业用工实现一键签约&#xff1b;借助…

体验 Node.js 的 net 模块

1. 创建客户端 模拟 http 请求&#xff0c;将接收到的响应体内容原样输出&#xff0c;接收完毕后&#xff0c;关闭连接 1.1 最终效果 接收到的数据&#xff1a; 解析后的数据&#xff1a; 1.2 流程说明 初始化&#xff1a; 创建客户端 const client net.createConnection…

美国高防服务器到底好不好用

对于对安全性配置有较高要求的用户来说&#xff0c;一般的独立服务器似乎并不能满足其需求。他们一般会选择带有DDoS或CC攻击防御功能或者流量清洗功能的高防服务器。而本文所要介绍的美国高防服务器也是众多海内外用户比较青睐的一大产品选择。那么美国高防服务器到底好不好用…

设计原则和设计模式

一&#xff1a;软件设计原则 1.单一职责原则&#xff1a; 有且只有一个原因引起类的变化(类或者接口的职责单一化) 2.里氏替换原则&#xff1a; 子类可以扩展父类的功能,但不能改变父类原有的功能 3.依赖倒置原则&#xff1a; 1.高层模块不应该依赖于底层模块&#xff0c…

机器学习2普通knn算法

文章目录KNN算法-k近邻算法&#xff08;k-Nearest Neighbors&#xff09;前言KNN优点&#xff1a;快捷键&#xff1a;一、普通knn算法是什么&#xff1f;解析&#xff1a;二、普通knn算法基础1.分布解析2.使用pycharm函数封装的形式运行KNN算法3.使用scikit-learn中的knn三、普…

《Redis基础篇》带你走进Redis的世界 ~ ⭐必看必看⭐

文章目录1. NoSQL数据库简介1.1 技术发展1.1.1. Web1.0时代1.1.2 Web2.0时代1.1.3. 解决CPU及内存压力(采用分布式)1.1.4. 解决IO压力1.2. NoSQL数据库1.2.1. NoSQL数据库概述1.2.2 NoSQL适用场景1.2.3 NoSQL不适用场景1.2.4 Memcache1.2.5 Redis1.2.6. MongoDB1.3. 行式存储数…

新的datax启动方式(直接使用java命令启动)

一开始用的python启动 &#xff08;很烦 还得有python环境 但是本着项目上线可以给客户装个python环境 也就用了&#xff09; 后续需要做个客户端 开始呢下载了源码直接再源码中启动(但是多个任务都在一个jvm中 我很抵触这样做) 又研究研究python启动的源码 发现最后还是调用…

Lerna入门与实战

一、Lerna简介 1.1 lerna背景 维护过多个package项目的同学可能都会遇到一个问题&#xff1a;package是放在一个仓库里维护还是放在多个仓库里单独维护。当package数量较少的时候&#xff0c;多个仓库维护不会有太大问题&#xff0c;但package数量逐渐增多时&#xff0c;一些…

数据驱动运营成功案例——内蒙古国大药房

国药控股国大药房内蒙古有限公司&#xff08;以下简称“内蒙古国大药房”&#xff09;&#xff0c;自2003年成立以来&#xff0c;销售额以每年35%以上的速度增长&#xff0c;现有直营门近400家&#xff0c;分布覆盖呼和浩特、包头、呼伦贝尔、乌兰察布、巴彦淖尔、赤峰、满洲里…

新加坡国立大学尤洋:我的四个选择,本质的喜欢催动长久的坚持丨青源专栏...

为了启发青年学者思考职业发展&#xff0c;激发科研灵感&#xff0c;智源社区推出青源专栏&#xff0c;定期邀请青源会员分享他们的研究思考和科研感悟。新加坡国立大学计算机系校长青年教授、青源会会员尤洋分享了他在高性能计算研究、创业经历以及在新加坡的生活所感。从求学…

006. 分割回文串

1.题目链接&#xff1a; 131. 分割回文串 2.解题思路&#xff1a; 2.1.题目要求&#xff1a; 给一个字符串 s &#xff0c;要求把 s 分割成一些子串&#xff0c;并使每个子串都是 回文串。 回文串的概念&#xff1a;正反顺序都一样的字符串。 举例&#xff1a; 输入&#…

IC模拟版图工程师高薪进阶之路,三年实现年薪30w+

模拟版图是模拟IC设计岗位的一种&#xff0c;随着国内半导体行业的不断发展&#xff0c;岗位的需求也越来越多。而每个芯片最终能够付诸于生产都离不开模拟版图设计师的功劳&#xff0c;所以目前芯片产业对于这类人才需求越来越大。 什么是模拟版图设计工程师&#xff1f; 模…

BSA牛血清白蛋白修饰Fe3O4纳米颗粒 BSA-MION

产品名称&#xff1a;BSA牛血清白蛋白修饰Fe3O4纳米颗粒 英文名称&#xff1a;BSA-MION 用途&#xff1a;科研 状态&#xff1a;固体/粉末/溶液 产品规格&#xff1a;1g/5g/10g 保存&#xff1a;冷藏 储藏条件&#xff1a;-20℃ 储存时间&#xff1a;1年 牛血清中的简单蛋白&am…