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

本文详细介绍了解决ADB工具在Windows和Linux系统中无法识别Android设备的问题,包括修改USB驱动的PIDVID、更新adb驱动、设置环境变量及创建adb_usb.ini文件等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

这个时候该怎么办呢?

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

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

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

二,对于windows:

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

例如:

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

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

2. 右击我的电脑->属性->高级->环境变量,添加 ANROID_SDK_HOME 环境变量。如果你有 android SDK, 就设成 SDK 的路径;如果没有,那也没关系,设为你觉得方便的任何路径。

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
如果以上做完,手机还没识别出来,找高手吧










转载于:https://my.oschina.net/janson2013/blog/181622

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值