关于Ubuntu上Eclipse不显示手机设备(小米为例)

参考1:http://developer.android.com/tools/device.html
参考2:http://www.linuxidc.com/Linux/2012-02/54836.htm

最近使用Ubuntu做Android研发时,发现Eclipse无法正确显示已连接的手机设备。于是在网上搜寻了以上两编文章资料,尝试了一下,虽有曲折但终于成功。
文章拙劣不对之处还望大侠们指点,以便改进,勿让我误人子弟。

一、准备工作
A、开启Android设备,用USB数据线连接到Ubuntu系统。
B、启用设备的USB调试模试
  C、启动Eclipse,在Devices栏会现一个有很多???号的不明设备
二、配置
  根据Google官方文档指示,Ubuntu系统需要新建一个用来配置设备USB规则的文件。
   A、打开Ubuntu终端 执行命令: gedit /etc/udev/rules.d/51-android.rules
   B、添加的内容模板如下:
         SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
    Ubuntu不需要GROUP="Plugdev"(Unix需要)结点,所以模板是只需要
        SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
         在添加时只需修改模板ATTR{idVendor}=="0bb4" ""中的内容即经销商ID(Vendor ID)即可。
   C、Google官方的VendorId 列表如下:
           厂商名   厂商ID
           Acer        0502
           ASUS        0b05
           Dell        413c
           Foxconn        0489
           Fujitsu        04c5
           Fujitsu Toshiba        04c5
           Garmin-Asus        091e
           Google        18d1
           Hisense        109b
           HTC        0bb4
           Huawei        12d1
           K-Touch        24e3
           KT Tech        2116
           Kyocera        0482
           Lenovo        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        054c
           Sony Ericsson        0fce
           Teleepoch        2340
           Toshiba        0930
           ZTE        19d2
  a)如果你的设备品牌在以上列表中,则只需要将对应的VendorId修改即可,例如Google的设备(18d1):
   在刚打开的/etc/udev/rules.d/51-android.rules文件中加入SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
(即将0bb4修改为18d1即可),再增加其他设备配置时另起一行。

  b)如果不是的话需要得到设备的VendorId添加进去
      在终端执行: lsusb 将会列出系统所有在用的usb端口信息,如果有很多的话需要自己根据后面的描述分辨。
          ......
          Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
          Bus 001 Device 002: ID 18d1:9025 Google Inc. 小米的设备信息 18d1:9025意思是[vendorId]:[productId]
          Bus 006 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
          Bus 008 Device 002: ID 0a5c:2150 Broadcom Corp. BCM2046 Bluetooth Device
          ......
     我们找了小米的VendorId竟然就是Google的VendorId. 好了将SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"添加
      进/etc/udev/rules.d/51-android.rules文件
三、执行
      配置完成了,这一步即执行与测试:
      保存并关闭/etc/udev/rules.d/51-android.rules文件 执行:chmod a+r /etc/udev/rules.d/51-android.rules
      然后重启adb服务即可,或者重启Eclipse也可以。现在我们可以看见显示出设备信息了

原文地址:https://www.cnblogs.com/vus520/p/2561910.html