赞
踩
商业转载请联系作者获得授权,非商业转载请注明出处。
目录
六 (2021.2.24 补充更新)Android 11 的 无线连接
Android 调试桥 (adb) 是一种与设备通信,执行各种设备操作(例如安装和调试应用)的命令行工具。adb提供了对 Unix shell(可用来在设备上运行各种命令)的访问权限。
adb是一种客户端-服务器程序,包括以下三个组件:
adb
包含在 Android SDK 平台工具软件包中,使用 SDK管理器下载此软件包,该管理器会将其安装在 android_sdk/platform-tools/
下。
当某个 adb 客户端启动时,客户端会先检查是否有 adb 服务器进程正在运行。如果没有,启动服务器进程。服务器在启动后会与本地 TCP 端口 5037 绑定,并监听 adb 客户端发出的命令 。所有 adb 客户端均通过端口 5037 与 adb 服务器通信。
然后,服务器会与所有正在运行的设备建立连接。它通过扫描 5555 到 5585 之间(该范围供前 16 个模拟器使用)的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。
服务器与所有设备均建立连接后,您便可以使用 adb 命令访问这些设备。
adb默认在系统的安卓sdk下的platform-tools目录下,即android_sdk/platform-tools/
目录。如果想直接在Android Studio的Terminal控制台使用,需要先配置好环境。
打开终端,输入以下命令:
- cd ~
- touch .bash_profile
- open -e .bash_profile
在弹出的配置页中,配上自己安卓platform-tools的路径,我的实例如下:
export PATH=${PATH}:/Users/ystm1/Library/Android/sdk/tools:/Users/ystm1/Library/Android/sdk/platform-tools
保存退出,此刻要记得更新配置生效:
source .bash_profile
注意:
如果是zsh用户,上述配置可能对于你而言只是一次性的,你重启一次电脑后可能会发现,我的adb命令又报错“zsh: command not found: adb”了。不要慌,因为你还没有配置配置 .zshrc(非zsh用户忽略)
1)终端中输入:open .zshrc
2)如果已经有了,输入:open .zshrc -e
3)在打开的文件中最后一行添加: source ~/.bash_profile
4)输入:source ~/.zshrc 使其立即生效
查看所有支持的 adb 命令的详细列表:
adb --help
4.2 devices
命令devices
命令生成已连接设备的列表。
adb devices -l
结果:
- (base) ystm1@ystm1 ~ % adb devices -l
- List of devices attached
- 192.168.1.110:5556 device product:dipper model:MI_8 device:dipper transport_id:290
- 192.168.1.124:5558 device product:PD1616 model:vivo_X9 device:PD1616 transport_id:296
以下状态信息:
offline
:设备未连接到 adb 或没有响应。device
:设备现已连接到 adb 服务器。请注意,此状态并不表示 Android 系统已完全启动并可正常运行,因为在设备连接到 adb 时系统仍在启动。不过,在启动后,这将是设备的正常运行状态。no device
:未连接任何设备。-l
选项,devices
命令会告知您设备是什么。当您连接了多个设备时,此信息很有用,可帮助您将它们区分开来。install
命令 install
命令在模拟器或连接的设备上安装 APK
adb install path_to_apk
shell
命令通过 adb 发出设备命令,也可以启动交互式 shell。如需发出单个命令,请使用 shell
命令,如下所示:
adb [-d |-e | -s serial_number] shell shell_command
要在设备上启动交互式 shell,请使用 shell
命令,如下所示:
adb [-d | -e | -s serial_number] shell
要退出交互式 shell,请按 Ctrl + D 键或输入 exit
。
Android 提供了大多数常见的 Unix 命令行工具。如需查看可用工具的列表,请使用以下命令:
adb shell ls /system/bin
am
)adb shell am start -a android.intent.action.VIEW
Activity 管理器 (am
),调用软件包管理器 (pm
)和调用设备政策管理器 (dpm
)使用不多,需要时可查阅官方文档。
将手机与开发的电脑处于同一局域网,在电脑的Android Studio中打开命令行 ,注意需要先用USB数据线让手机连接上Android Studio,此刻你的页面应该是这样:
此刻打开Android Studio中Teiminal命令行,连接运行 adb devices 命令:
如图,List of devices attached表示连接到Android Studio的设备列表,6UK9X20411X01598 代表我们用数据线连接到Android Studio的设备序列号。
找到了这个设备,接下来我们需要将这个设备通过局域网无线连接到Android Studio,继续输命令:
adb -s 6UK9X20411X01598 tcpip 5555
5555是端口号,注意与常用端口区分。该命令将用数据线连接到Android Studio的设备与5555端口绑定。
接下来我们只需要再将Android Studio绑到局域网中的该端口即可(注意下面106的局域网地址是需要连接的设备的局域网地址,5555端口号是上面tcpip设定的端口号,需要保持一致):
adb connect 192.168.1.106:5555
至此大功告成!输入adb devices -l 命令,看看结果吧,此刻可以把烦人的数据线摘掉了哦!
下面是我的截图
我一直用的这种调试方式,可以无线安装app调试,相比数据线而言一开始有担心会不会装包速度变慢,但是使用下来100m以内的安装包(我也没写100M开外大小的hh)没有感觉到特别明显的速度延迟,使用感觉还是很好的。
如果 adb 连接断开:
adb connect
步骤重新连接。- adb kill-server
-
- adb start-server
然后,从头开始操作。
注意:华为设备可能一开始会连接不成功,注意在开发者选项里,打开:“仅充电”模式下允许ADB调试!
Android 11之前,我们在用常规方法连接adb时,总是不可避免地要先用数据线连接到手机。
可有时候就是没有数据线或者驱动等问题,连接不上手机,又或者数据线连上了手机,但是接触不良经常断开,此刻显得非常得麻烦。
Android11的无线调试很好地解决 这个问题,它支持全程无数据线直接连接。
Android 11 支持通过 Android 调试桥 (adb) 从工作站以无线方式部署和调试应用,而无需通过 USB 实际连接您的设备,从而避免常见的 USB 连接问题(例如驱动程序安装方面的问题)。
如需使用无线调试,您需要使用配对码将您的设备与工作站配对。您的工作站和设备必须连接到同一无线网络。
操作步骤:
1:启用开发者模式,并打开无线调试
2:选择使用配对码配对设备。记下设备上显示的配对码、IP 地址和端口号
3:打开Android Studio的终端,输入
adb pair ipaddr:port
随后终端会提示让你输入配对码,输入之前手机上展示的配对码即可!
- (base) ystm1@ystm1 ~ % adb pair 192.168.1.113:39753
- Enter pairing code: 605434
- Successfully paired to 192.168.1.113:39753 [guid=adb-6d233f38-fn4ZTM]
- (base) ystm1@ystm1 ~ %
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。