代码改变世界

Ubuntu adb device

2014-04-02 14:10  雪夜&流星  阅读(546)  评论(0编辑  收藏  举报

在ubuntu上经常出现系统无法识别android手机的情况,要解决这个问题可以用以下方法:

 1. 执行 "android update adb", 这会创建"~/.android/adb_usb.ini" 文件。
 2. 执行 lsusb, 找出手机的 usb vendor id。 lsusb的输出格式类似:
       Bus 001 Device 033: ID 22d9:2767 
    其中 22d9 就是 vendor id。
 3. 把 usb vendor id 用16进制格式写入 adb_usb.ini 中,每行一个id。 如:
    0x22d9
 4. 执行 "adb kill-server"
 5. 然后 adb devices 就可以列出设备

如果设备 adb devices 的输出为

   List of devices attached
   ????????????    no permissions

可以通过在 /etc/udev/rules.d/ 下加一个 rules 文件的方式解决。 例如,创建一个 51-android.rules 文件, 然后在里面为相应的vendor id 加一行:

   SUBSYSTEM=="usb", ATTR{idVendor}=="22d9", MODE="0666"

更新 udev: sudo /etc/init.d/udev restart

如果设备adb devices 还是输出为

   List of devices attached
   ????????????    no permissions

终极解决方案(复制如下内容,保存为 /etc/udev/rules.d/51-android.rules, 并修改该文件的拥有者属性):

   # ================== 内容开始 ==================
   #Acer
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0660", GROUP="plugdev"
   #ASUS 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0660", GROUP="plugdev" 
   #Dell
   SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0660", GROUP="plugdev" 
   #Foxconn
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0660", GROUP="plugdev" 
   #Fujitsu/Fujitsu Toshiba
   SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", MODE="0660", GROUP="plugdev" 
   #Garmin-Asus
   SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0660", GROUP="plugdev" 
   #Google
   SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0660", GROUP="plugdev" 
   #Haier
   SUBSYSTEM=="usb", ATTRS{idVendor}=="201E", MODE="0660", GROUP="plugdev" 
   #Hisense
   SUBSYSTEM=="usb", ATTRS{idVendor}=="109b", MODE="0660", GROUP="plugdev" 
   #HTC    
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0660", GROUP="plugdev" 
   #Huawei        
   SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0660", GROUP="plugdev" 
   #K-Touch
   SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0660", GROUP="plugdev" 
   #KT Tech
   SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0660", GROUP="plugdev" 
   #Kyocera
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0660", GROUP="plugdev" 
   #Lenovo
   SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0660", GROUP="plugdev" 
   #LG
   SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0660", GROUP="plugdev" 
   #Motorola
   SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0660", GROUP="plugdev" 
   #MTK
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0e8d", MODE="0660", GROUP="plugdev" 
   #NEC
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0660", GROUP="plugdev" 
   #Nook
   SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0660", GROUP="plugdev" 
   #Nvidia
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0660", GROUP="plugdev" 
   #OTGV
   SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0660", GROUP="plugdev" 
   #Pantech
   SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0660", GROUP="plugdev" 
   #Pegatron
   SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0660", GROUP="plugdev" 
   #Philips
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0660", GROUP="plugdev" 
   #PMC-Sierra 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0660", GROUP="plugdev" 
   #Qualcomm 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0660", GROUP="plugdev" 
   #SK Telesys 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0660", GROUP="plugdev" 
   #Samsung 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0660", GROUP="plugdev" 
   #Sharp 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0660", GROUP="plugdev" 
   #Sony 
   SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0660", GROUP="plugdev" 
   #Sony Ericsson
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0660", GROUP="plugdev" 
   #Teleepoch
   SUBSYSTEM=="usb", ATTRS{idVendor}=="2340", MODE="0660", GROUP="plugdev" 
   #Toshiba
   SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0660", GROUP="plugdev" 
   #ZTE
   SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0660", GROUP="plugdev" 
   #XiaoMi
   SUBSYSTEM=="usb", ATTRS{idVendor}=="2717", MODE="0660", GROUP="plugdev"
   #OPPO
   SUBSYSTEM=="usb", ATTRS{idVendor}=="22d9", MODE="0660", GROUP="plugdev"
   # ================== 内容结束 ==================
   sudo chown [loginusername]:[groupofuser] 51-android.rules