当前位置: 首页 > news >正文

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

相关文章:

  • 软件崩溃时Visual Studio中看不到有效的调用堆栈,使用Windbg动态调试去分析定位
  • 大数据Vue项目必备|Window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)
  • c++ 冒泡排序
  • SpringBoot集成swagger2配置权限认证参数
  • 《地理信息系统原理》笔记/期末复习资料(13. 地理信息系统的发展趋势)
  • 持续集成交付CICD:使用Maven命令上传Nexus制品
  • 多合一iPhone 解锁工具:iMyFone LockWiper iOS
  • 专栏十五:omicverse在单细胞分析中的实际使用体验和小改动
  • 利用python编写简易POC脚本
  • KMP算法数组下标从0和数组下标从1开始
  • Windows 批量删除文件简单方法
  • k8s 安装 Longhorn
  • Java设计模式-单例(Singleton)设计模式的概述及实现
  • 〖大前端 - 基础入门三大核心之JS篇(51)〗- 面向对象之认识上下文与上下文规则
  • 【JVM】第一章:内存结构
  • 11111111
  • 2019.2.20 c++ 知识梳理
  • CSS 提示工具(Tooltip)
  • JAVA SE 6 GC调优笔记
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JavaWeb(学习笔记二)
  • Java应用性能调优
  • Python连接Oracle
  • Service Worker
  • SpringBoot几种定时任务的实现方式
  • 基于HAProxy的高性能缓存服务器nuster
  • 老板让我十分钟上手nx-admin
  • 聊聊hikari连接池的leakDetectionThreshold
  • 区块链将重新定义世界
  • 使用API自动生成工具优化前端工作流
  • 我从编程教室毕业
  • 新版博客前端前瞻
  • 在Unity中实现一个简单的消息管理器
  • 栈实现走出迷宫(C++)
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​第20课 在Android Native开发中加入新的C++类
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #pragma once
  • (ros//EnvironmentVariables)ros环境变量
  • (独孤九剑)--文件系统
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (黑客游戏)HackTheGame1.21 过关攻略
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .net网站发布-允许更新此预编译站点
  • .NET学习教程二——.net基础定义+VS常用设置
  • .ui文件相关
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Autowired自动装配
  • @Transactional事务注解内含乾坤?
  • [] 与 [[]], -gt 与 > 的比较