Ubuntu ADB Device 显示为空 于adt不识别手机

在 android 设备的 Linux 内核中把 USB 驱动的 PID VID 修改之后,也许以前的 adb 工具就不能识别设备了,会打印出 "device not found" 的提示,特别是 windows ,adb 驱动也不能用了。

这个时候该怎么办呢? css

一,先搞清如今的 PID ,VID 为多少,例如分别为 aaaa、bbbb(十六进制) linux

      对于 linux 如 ubuntu, 插入 设备,再查询 /sys/bus/usb/ 下的相应设备,如 "1-1" 下的 idVender, idProduct 得到。 android

      对于 windows, 可从相应设备的属性中得到(设备管理器->android usb devices->adb device->属性->详细信息) shell

二,对于windows: ubuntu

1. 修改 adb 驱动中的 android_winusb.inf 文件。对照着别的项目加就能够了。 windows

例如: eclipse

; My product
%CompositeAdbInterface% = USB_Install, USB\VID_AAAA&PID_BBBB 工具

%SingleBootLoaderInterface% = USB_Install, USB\VID_AAAA&PID_BBBB&MI_01 spa

2. 右击个人电脑->属性->高级->环境变量,添加 ANROID_SDK_HOME 环境变量。若是你有 android SDK, 就设成 SDK 的路径;若是没有,那也不要紧,设为你以为方便的任何路径。 .net

3. 在前面设置的 ANDROID_SDK_HOME 对应的路径下,寻找 .android 目录,若是没有就建立一个;在 .android 目录下新建一个文件,叫adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面得到的 VID 到 adb_usb.ini 中,如 0xAAAAAA。 就是vid+pid 就好比下面的 手机就是 0x22070010

Bus 003 Device 007: ID 2207:0010

4. 而后安装 adb 驱动

5. 进入 DOS cmd, 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

三,对于linux

1. 在用户的 home 目录下,寻找 .android 目录,若是没有就建立。在 .android 目录下新建一个文件,叫adb_usb.ini, 记住,后缀是 "ini" 哦;添加前面得到的 VID 到 adb_usb.ini 中,如 0xAAAA。

2. 在 shell 中 分别输入 adb kill-server, adb start-server, adb devices;若能看到 devices 列出,那么就成功了。

这里 kill-server,是 kill 掉 adb 的 daemon,不然,adb 仍是保留着先前的 Vender 信息。start-server 就加载了新的 Vender 信息。


注意:有些人可能用 adb 须要超级用户权限,这时第一步中的home 目录应该为 /root,不想麻烦,直接两个 Home 目录都加上得了。




在eclipse的device出现????? (就是adb不识别手机)



Ubuntu 上 Eclipse 不识别 Android 手机的解决方法 Android Device Chooser 显示如下或其余奇怪信息 ???????????? no permissions 这代表手机已经链接了,但没有被识别。 若是是 Ubuntu Linux 须要添加一个 rules 文件,里面包含了每个想要调试的设备的 usb 配 置信息。 以小米 1 手机为例(不一样的手机参考本文最下方的备注)实现步骤以下: 1.打开终端,输入命令 lsusb 会列出一些信息,例如个人列出以下(请注意个人第 1 行) : Bus 002 Device 010: ID 18d1:9025 Google Inc. Bus 004 Device 002: ID 1c4f:0003 SiGma Micro HID controller Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub 1.在终端输入:sudo gedit /etc/udev/rules.d/51-android.rules 2.在打开的文件里加入: SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666" (请注意上面的 18d1.若是你有多个,就加多个 idVendor) 3.保存退出后在终端执行 sudo chmod a+r /etc/udev/rules.d/51-android.rules 4.在终端输入命令:sudo service udev restart 5.杀死当前正在运行的 server,在终端输入:sudo adb kill-server 没装 adb 的,能够用命令 sudo apt-get install android-tools-adb 先安装一下。 6.在终端输入:sudo adb start-server 7.从新将手机链接到电脑 8.在终端输入:adb devices 你就会发现原来不能识别的手机如今能识别了。 若是没有出来,不用拔手机了,连着手机重复执行一边 4,5,6,8.若是尚未搞定,请对着 步骤再作一遍(注意不要错过某些步骤) 。 若是是别的厂家的手机, 须要在步骤 2 更改 ATTR{idVendor}的值。 若是要添加多个厂家的手 机,重复步骤 2。其余 usb 供应商的 ID 以下: CompanyUSB Vendor ID Acer 0502 ASUS 0B05 Dell 413C Foxconn 0489 Garmin-Asus 091E Google 18D1 HTC 0BB4 Huawei 12D1 K-Touch 24E3 KT Tech 2116 Kyocera 0482 Lenevo 17EF LG 1004 Motorola 22B8 NEC 0409 Nook 2080 Nvidia 0955 OTGV 2257 Pantech 10A9 Pegatron 1D4D Philips 0471 PMC-Sierra 04DA Qualcomm 05C6 SK Telesys 1F53 Samsung 04E8 Sharp 04DD Sony Ericsson 0FCE Toshiba 0930 ZTE 19D2 若是以上作完,手机还没识别出来,找高手吧

相关文章
相关标签/搜索