adb命令学习记录

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.mzph.cn/news/216136.shtml

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

相关文章

排坑指南之STM32串口接收队列定时异常导致接收失败

背景: 公司的项目,今天讲的这部分功能主要是和IC卡读取板进行串口通讯,然后将读取回来的IC卡保存在本地。我在调试的过程中发现了一个问题,上电刚开始的阶段,程序是好用的,能读取回来IC卡卡号,然后运行一段时间之后,就读取不回来卡号了,刷卡没有响应。 摘要: 讲述STM…

C语言--每日练习题--Day38

第一题 1. 下列代码的运行结果() short i 65537; int j i 1; printf("i%d,j%d\n", i, j); A:i 65537,j 65538 B:i 1,j 2 C:i -1,j 0 D:i 1&#xff…

【基础知识】大数据概述

关键词—分布式 化整为零,再化零为整 大数据的定义 传统数据库处理起来困难的数据集。 发展历程 中国开源生态图谱2023 参考内容 中国开源生态图谱 2023.pdf 技术组件说明 数据集成 sqoop、dataX、flume 数据存储 hdfs、kafka 数据处理 mapreduce、hive…

C++学习笔记(十一)------has_a和use_a关系

文章目录 前言 一、has_a关系 1.1 has_a概念 1.2 has_a中构造和析构的顺序 1.3 has_a对象的内存情况 二、use_a关系(友元关系) 1.友元函数: 2.友元类 3 使用多文件编程的方式重新编辑上述代码 总结 前言 随着技术的革新,出现各种各…

通俗易懂,什么是.NET Core以及.NET Core能做什么

我们都知道.NET Core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为Windows、Linux和MacOS构建软件应用程序。与其他软件框架不同,.NET Core是最通用的框架,可用于构建各种软件,包括Web应用程序、移动…

搭建商城系统的构架如何选择?

近期有很多网友在csdn、gitee、知乎的评论区留言,搭建商城系统是选择单体架构还是微服务架构,这里先说结论,如果是纯电商的话,商城系统的架构建议选择单体架构。我们分析下微服务和单体架构的优劣势,就知道了。 一、什…

网易有道强力开源中英双语语音克隆

项目地址(基于PromptTTS): https://github.com/netease-youdao/EmotiVoice EmotiVoice Docker镜像 尝试EmotiVoice最简单的方法是运行docker镜像。你需要一台带有NVidia GPU的机器。先按照Linux和Windows WSL2平台的说明安装NVidia容器工具…

ECCV 2024 European Conference on Computer Vision

目录 DatesPeople 官网: https://eccv2024.ecva.net/ 链接 Dates Thursday, February 29, 2024 authors Abstract registration deadlineThursday, March 7, 2024 authors Submission deadlineThursday, March 14, 2024 authors Supplementary materials deadlineM…

17.(vue3.x+vite)组件间通信方式之作用域插槽

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 作用域插槽 父组件中的插槽内容是无法访问到子组件中的数据的,而作用域插槽就是解决获取子组件数据。 父组件代码 <template><div><div>父组件--Hello World!</div><Child>

扁平疣的影响?劲松中西医结合医院结合临床经验分析

提到扁平疣&#xff0c;相信都不陌生&#xff0c;要知道它通常不会引起严重的危害&#xff0c;但仍然会给人们带来一些不适和困扰。除了影响美观之外&#xff0c;扁平疣当然还存在其他一些负面影响。为了让更多人知道扁平疣对健康的影响&#xff0c;今日特邀劲松中西医结合医院…

【JavaWeb学习笔记】8 - HTTP

一、常用文档 请求头 响应头 中间件获取的网页协议和返回的内容 这些称为HTTP协议 请求和响应 常见的请求头 响应头 状态码 HTTP状态码 当浏览者访问一个网页时&#xff0c;浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前&#xff0c;此网页所在的服务…

【GIS】1.什么是空间分析?

新坑&#xff01;&#xff01;&#xff01; 本系列文章主要参考CHICAGO大学的空间数据科学中心的相关课程(&#xffe3;∇&#xffe3;)/感谢分享&#xff5e; 什么是空间分析 空间分析不仅仅是指做一个地图这么简单&#xff0c;而是为这些位置空间添加实际的值&#xff0c;并…

L类型网络

案例背景 宿舍只提供WIFI上网,网页拨号认证,但是我有其他设备需要上网,只有一个有线网络,这就难办了 路由器,笔记本电脑,其他设备(手机), 路由器在此用于网络有线转无线的功能, 笔记本电脑在此用于,网络认证和网络代理的功能 电脑连上WIFI, 设置 最后,进行手机上操作,连上…

npm install 时,卡在sill idealTree buildDeps没有反应

这个的主要原因是默认的镜像源在国外&#xff0c;国内无法访问或者访问极慢导致的&#xff0c;可以先切换到国内的淘宝镜像源&#xff0c;然后再执行npm install <包名称> 命令就可以了。 具体如下&#xff1a; 1、设置镜像源为国内淘宝的镜像源&#xff1a; npm confi…

docker学习(八、mysql8.2主从复制遇到的问题)

在我配置主从复制的时候&#xff0c;遇到了一直connecting的问题。 起初可能是我ip配置的不对&#xff0c;slave_io_running一直connecting。&#xff08;我的环境&#xff1a;windows中安装了wsl&#xff0c;是ubuntu环境的&#xff0c;在wsl中装了miniconda&#xff0c;mini…

Vue指令之v-show与v-if

在Vue中&#xff0c;v-show和v-if是两个功能非常相近的Vue指令&#xff0c;当其值为1的时候&#xff0c;所在容器就会显示&#xff0c;否则不会显示。 定义一个style box&#xff0c;设置其长、宽、间距宽度、边缘线、文本对齐方式、边缘线圆角、阴影和行间距如下&#xff0c;…

MATLAB运动学之蒙特卡罗法求积分与机器人工作域分析

蒙特卡罗法又叫做统计模拟法、随机抽样技术&#xff0c;是一种随机模拟方法以概率和统计理论方法为基础的一种计算方法&#xff0c;通俗来说是可以使用随机数来解决很多计算问题的一种方法&#xff0c;很直观简单&#xff0c;尤其对于一些求解积分无解的情况&#xff0c;非常好…

书-二分查找找某个数字p155

#include<stdio.h> int main(){int a[10]{1,4,5,6,7,8,23,34,90,14567};int mid;int low0;int high9;while(low<high){mid(lowhigh)/2;//数组分成两段&#xff0c;前一段low-mid&#xff0c;后一段mid-highif (a[mid]<23)//因为已经是排序好的了&#xff0c;所以如…

基于ssm志愿者招募网站源码和论文

网络的广泛应用给生活带来了十分的便利。所以把志愿者招募管理与现在网络相结合&#xff0c;利用java技术建设志愿者招募网站&#xff0c;实现志愿者招募的信息化。对于进一步提高志愿者招募管理发展&#xff0c;丰富志愿者招募管理经验能起到不少的促进作用。 志愿者招募网站…

虹科分享 | CanEasy多场景应用,让汽车总线测试更简单

CanEasy是一个基于Windows的总线工具&#xff0c;用于分析和测试CAN、CAN FD和LIN以及汽车以太网系统。通过高度自动化和简单的配置模拟总线流量&#xff0c;CanEasy可用于分析真实网络、模拟虚拟系统&#xff0c;以及在整个开发过程中进行剩余总线模拟&#xff0c;实现从测试到…