在windows下,我们调试手机的时候,第三方软件会自动为我们安装手机驱动,而在ubuntu下,我们缺没有(可能是自己不知道吧),所以需要手动处理一些东西。
1: 一般思路是通过官方文档,将自己的手机对应的规则添加即可识别。
例如,我的htc如下:
1.1:创建一个文件:
/etc/udev/rules.d/51-android.rules
1.2: 在文件中加入如下内容就可以了。就可以了。
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 就可以了。
2:但是偏偏就有写手机比较特别,在官方文档中找不到对应的规则,如:小米系列。
所以采用另外一种方案,
将手机链接电脑后,在shell终端运行lsusb命令
再开一个终端,拔掉手机后,再运行lsusb命令,对比就可以找到小米手机的信息。
如: Bus 001 Device 004: ID 2717:9039
运行命令如下:
2.1 echo "0x2717" > ~/.android/adb_usb.ini (手动更改也可以)。 (发现小米3和红米都是2717).
2.2 sudo adb kill-server、sudo adb start-server (重启adb夫妇)
3: 51-android.rules和adb_usb.ini的意义和关系:
51-android.rules For udev
adb_usb.ini For adb
udev在root下执行,将51-android.rules中的设备的读写权根暴露给用户,这样adb就拥有了指定设备的读写权根(adb在用户态下运行)。而adb_usb.ini则告诉adb哪些设备是android设备。
官方参考文档: http://developer.android.com/tools/device.html
参考文档: http://stackoverflow.com/questions/10945698/is-making-changes-in-adb-usb-ini-the-same-as-editing-51-android-rules