adb命令学习记录

news2024/9/20 22:56:45

1、
adb ( android debug bridge)安卓调试桥,用于完成电脑和手机之间的通信控制。
xcode来完成对于ios设备的操控,前提是有个mac电脑。
安卓系统是基于linux内核来进行开发的。

2、adb的安装:
本身 adb是 android SDK 其中自带的工具,用于完成电脑和手机之间的通信控制。
最简单的使用方法:
将adb的三个必备文件,放到自己的电脑目录上,配置环境变量path就可以用。
推荐 安装SDK:
http://toolsandroid studio,org/index.php/sdk
下载zip包,解压即可。
解压之后,将sdk的platform-tools配置到环境变量path里。
adb version 用于查看版本,验证配置成功。

3、将设备和电脑连接起来:
先安装个模拟器:mumu /夜神

  • 打开手机上的 开发者选项,通过点击手机版本号7次

  • 开发者选项中,打开usb调试。

  • 以夜神为例,连接模拟器设备
    adb connect 127.0.0.1:62001
    mumu: adb connect 127 .0.0.1:7555

  • 连接完成之后,用 adb devices 命 查看当前连接的设备,注意后面的device表示连接成功

4、 常用的adb命令:

  • adb shell :用于进入安卓系统进行操作。 基本的linux命令都可以直接进行使用。
    在这里插入图片描述

    exit命今用于退出 安卓系统,回到windows系统。

  • 文件的基本操作:

    adb install [apk包路径]: 将apk安装包安装到手机上
    ’、

    adb uninstall [安卓系统中应用的包名 (packaqe) ]: 卸载应用
    在这里插入图片描述

  • 下载上传文件:
    adb pull [手机上的文件路径] [电脑上的目标目录]:
    adb push [电脑上的目标目录][手机上的文件路径] : 将电脑上的文件上传到手机
    在这里插入图片描述

  • 包管理 (pm) 操作:
    adb shell pm list package :列出手机中安装的所有应用的package名字。
    -3参数:用于列出第三方在执行的时候,实际上是先通过adb shell进入安卓手机系统,然后调用手机中的 pm命令:放在system/bin日录下的pm脚本。
    如果在安卓系统中执行的话,就只需要执行 pm list package -3了
    在这里插入图片描述

  • 页面管理(am activity manager)操作: 手机应用中的每个页面就是一个activity.
    启动应用,需要通过应用的启动activity来完成调用。
    adb shell am start -W -S [包名]/[启动activity名] 启动对应的应用。

  • 获取应用的activity:

    1、adb shell dumpsys activity|findstr “mFocuse”
    在这里插入图片描述

    一定注意,使用这个命令的时候,打开你的被测应用。
    实际上获取的是当前应用打开的activtiy名,有可能并不是启动用的activity
    2、使用sdk中的 aapt工具 来进行apk包的解析。
    获取到的一定是启动用的activtiy。
    在这里插入图片描述
    3、adb shell monkey -p [被测包] -v -v -v 1
    通过查看日志信息中,找到using开头的哪一句,其中的activity名字就是启动页面
    在这里插入图片描述
    在这里插入图片描述

5、adb完成自动化操作:

1、先获取包名 adb shell pm list package -3
2、根据包名获取应用的启动activity
adb shell monkey -p [被测包] -v -v -v 1
3、根据获取到的activity名字,启动应用“
adb shell am start -W -S com.tencent.mobileqq/.activity.SplashActivity
4、按顺序执行 input操作,完成对手机的控制。
5、写成个bat脚本

写成个bat脚本内容,rem为bat脚本的注释

rem 启动应用
adb shell am start -W -S com.tencent.mobilegg/.activity.SplashActivity
rem等待
ping 127.0.0.1 -n 3
rem 点击用户名框
tap 471 425adb shell input
rem 点击刚除的x
tap 704 437adb shell input
ping 127.0.0.1n 1
rem 输入用户名
adb shell input text 2798145476
ping 127.0.0.1 -n 1
rem 输入密码
adb shell input tap 446 572
ping 127.0.0.1 -n 1
adb shell input text royl23456
rem 点击登录按钮
ping 127.0.0.1 -n 1
adb shell input tap 446 812

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

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

相关文章

山西电力市场日前价格预测【2023-12-09】

1.日前价格预测 预测说明: 如上图所示,预测明日(2023-12-09)山西电力市场全天平均日前电价为366.40元/MWh。其中,最高日前电价为629.26元/MWh,预计出现在08:00。最低日前电价为216.58元/MWh,预…

PySpark大数据处理详细教程

欢迎各位数据爱好者!今天,我很高兴与您分享我的最新博客,专注于探索 PySpark DataFrame 的强大功能。无论您是刚入门的数据分析师,还是寻求深入了解大数据技术的专业人士,这里都有丰富的知识和实用的技巧等着您。让我们…

使用工业级以太网交换机,需要注意哪些问题?

企业常用工业级以太网交换机进行网络组网,主要有两种情况。第一种是通过协议转换器将专线转换为以太网交换机,第二种是直接租用裸光纤。具体而言,在三、四层网络选择的三层交换机通常只能配置简单的动态路由协议、简单的策略路由和简单的访问…

如何管理大型网站的抓取预算

优化您的网站,以便 Google 更快地找到您的内容并将您的内容编入索引,这可以帮助您的网站获得更好的知名度和流量。 互联网是一个不断发展的虚拟世界,拥有超过 1 亿个网站。 你认为谷歌可以抓取世界上的每一个网站吗? 即使拥有谷…

【SpringBoot篇】详解基于Redis实现短信登录的操作

文章目录 🥰前言🛸StringRedisTemplate🌹使用StringRedisTemplate⭐常用的方法 🛸为什么我们要使用Redis代替Session进行登录操作🎆具体使用✨编写拦截器✨配置拦截器🌺基于Redis实现发送手机验证码操作&am…

DNF 单机联网 搭建教程(附视频)

更多游戏搭建&pvf修改教程请见: DNF教程 注意:请不要将游戏进行商业化,一切后果概不负责。仅供单机,好友之间进行娱乐!! 注意:请不要将游戏进行商业化,一切后果概不负责。仅供单机&#…

重塑未来工作方式,亚马逊云科技re:Invent推出生成式AI助手Amazon Q

亚马逊云科技在re:Invent 2023宣布推出Amazon Q,这是一种新型生成式AI支持的助手,专门用于满足办公场景需要,可以根据客户业务进行定制。客户可以快速获得复杂问题的相关答案、生成内容并采取行动——所有这些都基于客户自身的信息存储库、代…

区块链的可拓展性研究【03】扩容整理

为什么扩容:在layer1上,交易速度慢,燃料价格高 扩容的目的:在保证去中心化和安全性的前提下,提升交易速度,更快确定交易,提升交易吞吐量(提升每秒交易量) 目前方案有&…

qt 使用百度在线地图 方法2

使用百度在线地图两个关键点&#xff0c;一是html页面准备&#xff1b;二是qt 与js 语言的交互。 1&#xff0c;html页面的准备&#xff0c;双击页面就可以出现如下效果。 主要代码&#xff1a; <!DOCTYPE html> <html> <head><meta http-equiv"C…

亚马逊云科技开发Amazon Bedrock,使构建和移动就像API调用一样简单

企业希望在各种场景中应用生成式AI&#xff0c;例如提高生产效率&#xff0c;创新用户体验和开启全新工作方式。然而&#xff0c;生成式AI技术正快速发展&#xff0c;每天都有新的服务和创新发生。在日新月异的当下&#xff0c;客户的适应能力至关重要。企业需要能够使用最新、…

详解SVG文件

2023年12月12日&#xff0c;周二下午 目录 什么是SVG文件如何查看SVG文件方法1&#xff1a;使用VSCode的"SVG"插件方法2&#xff1a;使用WPS图片​编辑方法3&#xff1a;通过在线网站进行查看怎么制作自己的SVG文件 什么是SVG文件 SVG 是可缩放矢量图形&#xff08…

3_流量预测综述阅读_Cellular traffic prediction with machine learning: A survey

为了方便学习英语书写&#xff0c;总结的一些话用英语书写 ♥目录♥ 0、文献来源and摘要1、introduction2、prediction problems and datasets2.1 prediction problems2.2 dataset&#xff08;1&#xff09;Telecom Italia 意大利电信 2015&#xff08;2&#xff09;City Cell…

深入理解RBAC权限系统

最近&#xff0c;一位朋友在面试中被问及如何设计一个权限系统。我们注意到目前许多后台管理系统&#xff08;包括一些热门的如若依快速开发平台&#xff09;都采用了RBAC访问控制策略。该策略通过将权限授予角色&#xff0c;然后将角色分配给用户&#xff0c;从而实现对系统资…

仿短视频风格的自适应苹果CMS模板源码

这是一款仿短视频风格的自适应苹果CMS模板源码&#xff0c;设计简洁&#xff0c;适合用于搭建个人视频网站或者短视频分享平台。模板支持响应式布局&#xff0c;演示地 址 runruncode.com/yingshimanhau/19650.html 适配各种屏幕尺寸&#xff0c;功能丰富&#xff0c;用户体验良…

在vue3的js中将一组数据赋值的问题

代码: if (res.data) { myPrizeList.value res.data console.log(myPrizeList.value,myPrizeList.value) const giftList ref() console.log(JSON.parse(JSON.stringify(myPrizeList.val…

【VTK】VTK中的宏定义

很高兴在雪易的CSDN遇见你 【vtkWidgetRepresentation】第九期 vtk中的仿射变换 前言 本文分享VTK中的宏定义&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易会继续努力分享&#xff0c;一起进步&#xff01; 你的点赞就是我的…

家用儿童床欧盟CE认证EN716标准

一、标准适用范围 该标准规定了内部长度大于900mm但不超过1400mm的家用童床的安全要求。该安全要求适用于完全组装完毕待用的童床。可以转换成其它产品的童床&#xff08;如&#xff1a;可变产品、游戏床&#xff09;转换后应该符合相关欧洲标准。该标准不适用于提篮、婴儿床和…

Kafka-客户端使用

理解Kafka正确使用方式 Kafka提供了两套客户端API&#xff0c;HighLevel API和LowLevel API。 HighLevel API封装了kafka的运行细节&#xff0c;使用起来比较简单&#xff0c;是企业开发过程中最常用的客户端API。 LowLevel API则需要客户端自己管理Kafka的运行细节&#xf…

快宝技术:连接无代码开发,API集成提升电商营销和用户运营效率

无代码开发&#xff1a;创新的启航 快宝技术自2012年成立至今&#xff0c;一直是无代码开发领域的佼佼者。通过无代码开发平台&#xff0c;快宝技术旨在降低技术门槛&#xff0c;并使非技术人员能够轻松创建和部署应用程序。这不仅使得快递末端软件开发变得高效和便捷&#xf…

用Sketch for Mac轻松创作无限可能的矢量绘图

在如今的数码时代&#xff0c;矢量绘图软件成为了许多设计师和创意爱好者的必备工具。而在众多的矢量绘图软件中&#xff0c;Sketch for Mac无疑是最受欢迎的一款。它以其简洁易用的界面和强大的功能&#xff0c;让用户能够轻松创作出无限可能的矢量图形。 首先&#xff0c;Sk…