经验分享
共同学习

ADB基础知识和环境搭建

什么是ADB?

ADB是Android Debug Bridge(安卓调试桥)的缩写,它是Android开发中使用频率比较高的一套调试工具,它是一种多功能的命令行工具,可让您与设备进行通信。可以帮助开发者调试Android设备或模拟器,获取设备信息,安装和卸载应用,并提供对Unix shell(可用来在设备上运行各种命令)的访问权限。

比如开发脚本、外挂、一切安卓端的应用都离不开它。当年安卓刚出来的时候,不像现在有界面,都是一些命令,那个时候没有这个东西。现在就方便多了,他们开发了ADB调试工具,我们就可以直接在电脑进行调试安卓设备里我们所写好的程序。

参考文章:<Android 调试桥>

学习目的

我学习ADB就是为了去开发脚本、手机群控、增加知识、研究等目的,像这种情况就需要对手机进行控制,我们就可以通过ADB把手机和电脑连接,再通过学习到的ADB命令代码去控制手机。控制手机当然不是手动控制的,而是通过CMD终端调用ADB命令,再用E语言开发的软件达成一个自动化的流程。

写这篇文章的目的更多是喜欢学习这类技术的一个导向,开个头,以后你想学那么就按照我下面提示的去学,因为用文字描述可能需要半个月也够呛能写完,更多是外行的简单了解。

如果想完成一系列的脚本落地到商业需要掌握:ADB、Autojs、JavaScript、易语言

参考文章:<ADB用法大全>

搭建ADB环境

  • ADB下载
  • 配置环境变量

adb下载

ADB软件可以百度下载,搜索关键词“ADB下载”就能随便找到ADB的安装包。你也可以按照我提供的链接进行下载。

地址:蓝奏云

密码:1552

我的建议直接使用环境变量adb,不管在那个盘符运行cmd都可以调用adb。

我们把ADB安装包放在D盘后,只需要运行终端后输入abd即可调用了。

如果不设置环境变量,放在其他盘符就得运行cmd输入对应盘符后,再调用ADB。如下所示

D:
cd D:\adb

环境变量

可以把ADB安装包放到任何盘符,我们在任何盘符运行终端adb命令都可以调用到ADB。

右键我的电脑>属性>高级系统设置>高级>环境变量

你也可以按win+R输入sysdm.cpl 进入到系统属性。

选择path点击编辑

点击新建,粘贴adb路径,点击确定

这样我们不管在那个盘符运行adb命令都是可以的了。

ADB手机连接配置

  • 开发者选项
  • USB调试
  • USB安装

开发者选项

通常我们需要激活开发者选项,需要在版本号处连续点击8次,因为手机型号的不同,操作可能稍微有些差异。

打开USB调试

进入开发者选项中,找到USB调试选项并打开。有些手机型号还有USB安全模式,你也需要开启一下。如果你在公共环境下就不要开启了,因为开启这个就会有被获取个人信息的风险,自己调试的情况下打开就行。否则每次调试都会进行询问。

打开USB安装

在开发者选项中,找到USB安装选项并打开。

终端查询手机设备

打开CMD终端,输入如下命令,就可以查询到你电脑连接的安卓设备。

adb devices

如下图所示,输入此命令它会检测连接到你电脑的所有安卓设备,我的电脑有20个设备它也会对应显示出来。 其中R38MC开头的英文是每台手机的名称,device的意思是连接正常的意思。在下一章会详细说一下状态,以及常见错误。以及USB连接方法、wifi连接方法、局域网连接。

安卓连接电脑科普

一台电脑最多拥有128个USB端口,因为电脑本身自己也占用了一个USB,理论上一台电脑可以连接127台设备。但是由于电脑配置和稳定性等原因呢,通常每台电脑最多连接100台设备,这样会稳定一些。如果你想把连接的安卓设备投屏到电脑,理论稳定的情况下也就是20台左右,这个完全看你电脑配置了。投屏到电脑需要在手机端做安卓软件的开发调用ADB传输到电脑,后面会讲这个事情。连接多安卓的方法有USB拓展或者用主板机等方式达到100台。

连接设备管理

我们插入电脑USB设备后,就会第一时间去检查设备状态,那么就会去输入adb devices去查询,那么我们就可能遇见一些常见的错误,我在这里详细介绍。以及它输出内容的格式,是什么意思。

想熟练的掌握ADB用法,那么就在这个网址去学习。

学习网址:速查ADB用法大全

查询已连接的设备/模拟器

adb devices

adb devices是一句查询连接设备的命令,英文翻译过来是“设备”的意思。输入后运行,就会查询我们电脑所连接的所有安卓设备信息。

输出示例

List of devices attached
R38M60H8R6J device
emulator-5554 device
10.129.164.6:5555 device

List of devices attached:翻译过来就是“连接设备的列表”的意思,它只是一段提示文字,在这个列表下的内容才是你的设备列表,如果下面没有内容,那么就是没有任何设备连接。

我们运行adb devices命令后,它输出格式为[serialNumber] [state] 说点大白话就是,第一个是设备名字,第二个就是设备状态。

[serialNumber]

R38M60H8R6J:这是手机的ID名称

[state]

device:设备已连接的意思,device代表连接正常。但是还会出现以下几种状态。

offline:它代表设备未连接成功或无响应。

no device:代表没有设备连接/电脑没有连接任何安卓设备。

常见异常输出

常见异常1

如果没有任何设备或模拟器连接连接电脑,它会输出以下内容。通常这种提示,代表你没有插好设备,或者设备并没有连接USB。

List of devices attached

常见异常2

这种通常是你的安卓设备无响应/USB接触不良/模拟器没有连接到adb的意思,解决办法就是检查USB接口,再就是查看开发者模式是否自动关闭了,如果关闭了就去重新打开,它会在状态中提示offline状态。

List of devices attached
R38M60H8R6J offline

连接手机方式

  • USB连接
  • wifi连接
  • 群控云端

USB连接,通过USB的拓展连接到多台设备。USB数据线连接的速度最快,传输文件安装投屏等,传输的数据最快,响应也会很快。

Wifi连接,通过局域网(内网)进行连接。

群控连接:通过云服务器进行远程控制,我们只控制云端进行连接。这种需要开发安卓端程序,安装在需要控制的手机上,进行云端控制手机,我们只需要连接云端的服务端,就可以控制手机。

这里主要讲USB和wifi(局域网的连接方式)

USB连接的方式,在前面我们讲的插上数据线到电脑,开启开发者选项,开启USB调试,以及开启安全模式,就是一种USB的连接方式

Wifi连接方式,也需要先进行以下USB连接,让设备监听TCP/IP后,断开USB连接后,打开手机的wifi功能查看内网IP,就可以直接输入命令,进行控制手机。

wifi连接(局域网/内网)连接电脑方法:

只要和你的电脑连接的是同一个网络,那么设备就是在同一个局域网的,这里简单说一下wifi连接,因为在群控中,很少会用局域网连接,适合设备少的情况下,会用内网。因为wifi连接速度慢,内网传输受到路由器的限制。具体操作方法如下。

#查询USB设备列表
adb devices
#监听TCP5555端口
adb tcpip 5555
#如果你要指定设备USB设备监听接口,请加-s如下
adb -s <手机名> tcpip 5555
#返回数据restarting in TCP mode port:5555代表监听成功,就可以拔下USB线了

拔下USB线,运行如下代码。

adb connect <device-ip-address>

我们现在并不知道手机的内网IP是多少,现在查看手机的WIfi信息就可以找内网IP是192.168.31.14

运行如下代码,就可以连接到手机了。

adb connect 192.168.31.14:5555

我的手机现在名字变成了 192.168.31.14:5555了,如果要操作什么,就可以-s 指定它即可。

ADB基本用法

ADB学习网址:ADB用法大全

命令语法

adb 命令的基本语法如下:

adb [-d|-e|-s <serialNumber>] <command>

如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serialNumber>] 这一部分,直接使用 adb <command>

参数 含义
-d 指定当前唯一通过 USB 连接的 Android 设备为命令目标
-e 指定当前唯一运行的模拟器为命令目标
-s <serialNumber> 指定相应 serialNumber 号的设备/模拟器为命令目标

在多个设备/模拟器连接的情况下较常用的是 -s <serialNumber> 参数,serialNumber 可以通过 adb devices 命令获取。如:

$ adb devices

List of devices attached
cf264b8f	device
emulator-5554	device
10.129.164.6:5555	device

 

-=||=-收藏赞 (0)

评论 抢沙发

评论前必须登录!

立即登录   注册

登录

找回密码

注册