• 0
  • 0
分享

1. Android 调试桥

adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试应用。

Tips: 在 android_sdk/platform-tools/ 中找到 adb 工具,然后根据其具体的路径配置好环境变量。然后启动cmd 输入‘adb’即可查看是否配置成功。

2. adb工作原理

启动一个 adb 客户端时,此客户端首先检查是否有已运行的 adb 服务器进程。如果没有,它将启动服务器进程。当服务器启动时,它与本地 TCP 端口 5037 绑定,并侦听从 adb 客户端发送的命令—所有 adb 客户端均使用端口 5037 与 adb 服务器通信。

2.1 启动adb调试

要在通过 USB 连接的设备上使用 adb,您必须在设备系统设置中启用 USB debugging(位于 Developer options 下)。

在运行 Android 4.2 及更高版本的设备上,Developer options 屏幕默认情况下处于隐藏状态。如需将其显示出来,请转到 Settings > About phone 并点按 Build number 七次。返回上一屏幕,在底部可以找到 Developer options。

注:当您连接运行 Android 4.2.2 或更高版本的设备时,系统将显示一个对话框,询问您是否接受允许在这台计算机上调试的 RSA 密钥。
这种安全机制可以保护用户设备,因为它可以确保只有在您能够解锁设备并确认对话框的情况下才能执行 USB 调试和其他 ADB 命令。

2.2 adb常用命令

2.2.1 查看版本

adb  version

2.2.2 查看设备信息

adb devices

2.2.3 在设备安装apk

adb install | -r <apkName>  -r 覆盖原安装文件 -s 可以指定设备

默认安装

adb install "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"

覆盖安装

adb install -r "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"

指定设备安装

adb  -s 127.0.0.1:62001 install "C:\Users\carl_DJ\Desktop\appium\wandoujia.apk"

遇到报错,解决方法

在cmd命令行执行以下命令:

    第一步、adb remount

    第二步、adb shell

    第三步、cd/data

    第四步、chmod 777 local

    最后、 重新安装apk,就妥妥的了!!

2.2.4 卸载apk

1.首先进入设备的/data/app目录找到app包名

adb shell
cd /data/app/

2.执行命令删除

adb uninstall  | -k  <apkName>  卸载软件
adb uninstall  com.wandoujia.phoenix2

    Tips:安装后的包名系统会在末尾加上-1之类的数字,要去掉才可以成功卸载。 软件名称为包名,不要包含.apk

-k 加 -k 参数,为卸载软件但是保留配置和缓存文件.

2.2.5 查看设备上安装的应用包名

adb shell pm list package

2.2.6 文件读取写入

1、将文件从PC写入到设备

adb push <local> <remote>

eg:

adb push C:\Users\carl_DJ\Desktop\kyb.txt /sdcard

2、将文件从设备读取到PC

adb pull <remote> <local>

eg:

adb pull /sdcard/server.log  C:\Users\carl_DJ\Desktop

注意:由于权限问题,不能直接pull到电脑磁盘根目录,否则会报错:

C:\Users\carl_DJ>adb pull /sdcard/server.log  D:\\

adb: error: cannot create file/directory ‘D:\’: No such file or directory

2.2.7 屏幕截屏

$ adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png  C:\Users\carl_DJ\Desktop

2.2.8 adb服务启动和关闭

关闭adb服务

adb kill-server                        #关闭adb服务

开启adb服务

adb start-server                      #开启adb服务

2.3 小结

1.adb是自动化非常重要的一个工具;

2.目前很多PC客户端手机助手也是基于adb连接原理进行封装的;

3.可以将常用的adb命令封装成bat命令,随时可以运行。

如:

adbdevices.bat

adb devices
pause

AdbConnect.bat

adb connect 127.0.0.1:62025
adb devices
pause


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、接口自动化测试的意义、前后端分离思想接口自动化测试的优缺点:优点:1、测试复用性。2、维护成本相对UI自动化低一些。为什么UI自动化维护成本更高? 因为前端页面变化太快,而且UI自动化比较耗时(比如等待页面元素的加载、添加等待时间、定位元素、操作元素、模拟页面动作这些都需要时间) 为什么接口自动化维护成本较低? 因为接口较稳定,接口的响应时间基本上都是秒级、毫秒级别的,速度快,并且接口自动化本身也可以做一些有关联的操作、全流程的操作(比如:注册 --> 登录 --> 修改个人信息)。3、回归方便。4、可以运行更多更繁琐的测试。自动化的一个...
            13 13 5598
            分享
          • 一. 我们没有已经部署的环境,其他团队会做这件事情你星期一早上来办公室。您注意到生成拦截器有几个问题。您需要从构建存储库构建新版本。您提出请求或联系您的开发团队或部署团队。哦,他们都在忙些其他的事情。但他们在一段时间后就可以做到了。现在告诉我,为什么会这样?它并不像看上去那么复杂。当采取新的构建时,开发人员肯定肯定可以修复好。但是,当您只需触发并部署它时,为什么要等待或依赖某个人呢?有能力和权限随时部署,使您的工作更容易,没有任何等待。你看到了吗?它也会增加你每天测试的周转时间。尽管它正在使用添加的记录器调试某些缺陷,或者使用新的构建来验证已解决的错误。或者是进行新的构建并开始测试新...
            0 0 976
            分享
          • 现在app太多了,有的时候把整个手机的空间都占满了。所以有时候我就会清理一下我的Android机里那些不常用的app程序,来释放我那3年前手机的小小8G内部存储。有一天,突然看到一个新闻,说饿了么可以通过手机网页,免下载,直接生成一个桌面应用,而且据说可以媲美原生的native应用体验,我来了兴趣,马上试用一下。 用我的华为荣耀3C,,打开Chrome浏览器,在地址栏输入https://www.ele.me,就打开了饿了么的手机网页,再点击右上角的“更多”按钮,弹出一个对话框,点击“添加到主屏幕”,提示添加成功。回到主屏幕,此时出现一个饿了么的图标,跟应用市场下载的一模一样。点击进入程序,嗯...
            10 7 2916
            分享
          • 一、前言使用Postman发送Post请求报400,入参为JSON;Postman截图二、分析1、Postman请求并没有请求到后台Api(由于语法错误,服务器无法理解请求);2、入参出错范围:cookie、header、body、form-data、x-www-form-urlencoded、属性未加引号、Url路径有中文等;3、参数Map、List、Array 对应 [ ]、{ } 符号;4、另外有说法:Post请求的参数过大(基本上没这种可能);5、总体分析:客户端发送到服务器的数据流没有遵守规则。三、解决(常见几种)1、检查Postman入参是否与实体类一 一对应(大小写、类型、参数个...
            0 0 7757
            分享
          • 常用的测试模块作为一个测试人员,如何有效的保证测试质量?如果只是回答按照测试用例进行详细测试,那是错误的。从可从两种不同的维度来保证测试质量。在测试周期内,按照测试范围可划分为以下4种:独立模块测试集成测试自由探索测试交叉测试从测试计划来划分,可分为以下3种:测试环境测试预生产环境测试正式环境验收测试浅谈自由探索+交叉测试在日常测试过程中,除了按部就班的按照需求文档、用例文档、UI效果文档来进行业务功能基础测试之外,个人开展测试过程种无形中会进行一个叫名为“自由探索”测试。所谓的“自由探索”,是在了解业务需求的基础上按照个人的经验、体验进行散发性的自由测试,进而发现需求外的不合理的业务逻辑,不...
            0 0 2324
            分享
      • 51testing软件测试圈微信