您的位置:首页 > 其它

认识adb手记

2016-04-13 15:13 141 查看
最近因为要调试一个xp系统和安卓平板的东西 用到了adb调试桥 之前装了一大堆东西同时还不好使 经常offline或者链接不上 之后仔细看了看文档总算有点头绪

adb(android debug bridge) 安卓调试桥(大概这么翻译)。用于在安卓设备和PC之间建立通信,可以使用usb线或者tcp的形式(usb用于实例设备 tcp用于模拟器)。

adb安装使用:下载相应文件直接到目录下cmd就行了

adb大概分为三个部分:

一、adbClient 就是打开的那个控制台,我们在这里敲adb命令,这些命令会发到adbserver中

二、adbserver adb服务端 当我们打开一个控制台后可以通过指令开启这个服务端 或者直接执行任何一条adb指令都会自动打开这个adbserver

三、adbd 即adb daemon adb守护进程 运行在android上 当安卓连接上电脑是就会开启这个进程

adb类似于一个中间路由 例如他通过监听5037端口(默认与控制台通信的端口)来接受adbclient命令 如果是本地服务则直接处理后将结果返回给adbclient,如果不是则转发给adbd处理,在接收来自adbd的处理结果并转发给adbclient

adbserver会扫描系统5554~5558之间的奇数端口(用于与adb连接)来查找链接上的android设备,即每一个与安卓舍得连接将会得到两个端口,例如5554与5555.奇数端口用于与adb的连接,偶数端口目前还没弄清楚具体原理,有说是用于直接与设备交换数据,有待学习。

Q:总是连接失败 或是offline

A:通常是因为5037端口被占用 如果关闭其他占用该端口的进程应该就能正常使用了 实际上该端口可以更改 通过添加一个环境变量 ANDROID_ADB_SERVER_PORT 即可,值变量的值就是想要改成的端口号 这样就可以避免端口冲突的问题 例如改为11111后 再次启动adbserver时将会提示在11111处启动adbserver

Q:安装adb驱动

A:1.打开电脑的管理-设备管理器,用USB链接android设备(android设备要打开USB调试),应该可以看到带黄色问号的USB设备。

2.在设备上右键查看属性-详细信息,在属性中选择硬件ID,此时可以看到硬件ID,例如:

USB\VID_2207&PID_0010&REV_0222&MI_01

USB\VID_2207&PID_0010&MI_01

3.打开android_winusb.inf,找到“[Google.NTx86]”(orx64)的信息:

[Google.NTx86]

; HTC Dream

%SingleAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C01

%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_0BB4&PID_0FFF

复制一份,并修改如下,注意VID和PID要和硬件ID中的一致:

[Google.NTx86]

; HTC Dream

; HTC Dream

%SingleAdbInterface% = USB_Install, USB_Install, USB\VID_2207&PID_0010&MI_01

%CompositeAdbInterface% = USB_Install, USB\VID_0BB4&PID_0C02&MI_01

%SingleBootLoaderInterface% = USB_Install, USB\VID_2207&PID_0010

注意:驱动分为32位和64位,需要在[Google.NTx86]和[Google.NTamd64]段,都添加一份,内容一样。

这是adb驱动 现在一般手机助手使用的都是MTP驱动 通常该驱动的安装需依赖于mediaplayer11

Q:连上显示状态是 unauthority

A:未授权 在安卓4.2(or其他版本 不确定)后 出于安全考虑adb连接时需要在设备上确认一下 这个确认提示会自动弹出的 之后再连接则不需要了

附adb、mtp驱动 http://download.csdn.net/detail/gldcpp/9489992
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: