打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ADB简介、原理及与设备的连接
Android 调试桥(ADB)
ADB(Android Debug Bridge)是一个通用的命令行工具,可以让你与模拟器或真机(Android设备)进行通信,adb 命令可用于执行各种设备操作(例如安装和调试应用),并提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。它是一种客户端-服务器程序,主要包括以下几部分:
客户端:用于发送命令。客户端在电脑上运行,可以通过发送adb命令从命令行终端调用客户端。
守护进程(adbd):在移动设备上运行命令,守护进程在每个设备或模拟器上作为后台运行。
服务器:用于管理客户端与守护进程之间的通信。服务器作为后台进程运行。
ADB工作原理
启动一个adb客户端时,此客户端首先检查是否有已运行的adb服务器进程,。如果没有,他将启动服务器进程。当服务器进程启动时,他与本地TCP端口5037绑定,并侦听adb客户端发送的命令。所有 adb 客户端均通过端口 5037 与adb 服务器通信。然后,服务器会与所有正在运行的设备建立连接。如图:

它通过扫描 5555 到 5585 之间的奇数号端口查找模拟器。服务器一旦发现 adb 守护程序 (adbd),便会与相应的端口建立连接。
启动adb调试
通过USB连接设备上的adb,需要在手机设备上启用USB 调试模式,并接受允许在这台计算机上调试的RSA密钥。(这种安全机制可以保护用户设备,可以确保只有在能够解锁设备并确认对话框的前提下执行USB调试和其他的adb命令)

ADB常用命令
查看版本号:adb version

连接模拟器
adb connect 127.0.0.1:62001
夜神模拟器的端口是规律的,第一个模拟器端口是62001,第二个端口是62025,第三个是62025+1依次类推。
连接模拟器常见问题
1、端口被占用

当出现如上图中的响应时,我们可以切换到安卓SDK的\platform-tools路径下,执行命令netstat -aon|findstr"5037"查看端口是否被占用。结果如下,被30476程序占用。

继续执行命令tasklist|findstr "30476",查看是什么程序占用了端口,进行关闭,如下图,我的是模拟器占用的端口,需要先将夜神模拟器关闭。

2、Android SDK中的adb版本和模拟器中的adb版本不一致
当两个adb版本不一致时会出现如下报错。(但是已经连接成功了)

我们只需要将Android SDK中的三个adb文件复制到夜神模拟器安装路径下的bin目录中替换。

然后将夜神模拟器安装路径下的bin目录中原有的nox_adb.exe文件重命名,重新复制一个SDK中的adb.exe到该路径下,并命名为nox_adb.exe

替换完成后,使用adb version和nox_adb version查看SDK和模拟器的adb版本是否一致。

若一致,再次执行连接命令adb connect 127.0.0.1:62001

我们同时连接多台设备,执行命令adb devices可以查看所有的连接设备


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Hbuilder连接模拟器调试
adb基本命令
Android 工具
[刷机教程] Android系列 adb操作命令详解
android调试工具adb
adb
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服