环境:Ubuntu 12.04 + android studio 1.0 + jdk
jdk使用sun的jdk,网上有较多教程教怎么配置,android studio需从android官网下载,伟大的中国墙的原因,有什么问题大家懂的,sdk下载完后仍然会自动下载部分内容,可选择自己设置镜像下载路径,这样下载速度会相对较快(打开SDKManager,Tools->options,HTTP Proxy Server:mirrors.neusoft.edu.cn,HTTP Proxy Port:80,选项全勾上)。
过程中还遇到了emulator无法打开的情况,明明有这个文件,却找不到,原因是64位的系统,32位的android studio,因此需要安装32位库
ubuntu无法识别手机时(使用MX4连接时遇到):
1、输入lsusb,查看设备的ID号。如我的输出内容如下:
Bus 002 Device 008: ID 0bb4:0d02 High Tech Computer Corp.
Bus 008 Device 002: ID 046d:c52e Logitech, Inc.
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:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
其中Bus 002 Device 008: ID 0bb4:0d02 High Tech Computer Corp.这一行就是我的HTC手机的USB使用端口了。记住中间的这两个ID:0bb4和0d02。
2、sudo vi /etc/udev/rules.d/70-android.rules
如果没有这个文件,可以创建,然后加入以下内容
SUBSYSTEM=="usb",ATTRS{idVendor}=="0bb4",ATTRS{idProduct}=="0d02",MODE="0666"
3、修改权限
sudo chmod a+rx /etc/udev/rules.d/70-android.rules
4、sudo ~/.android/adb_usb.ini 0x2a45(这一步许多地方都没有,参考:http://blog.csdn.net/liuqz2009/article/details/7942569)
5、重启udev 服务:
sudo service udev restart
6、重启adb server。
重连设备,然后执行sudo ./adb kill-server
adb start-server
然后看看adb devices是否已经已经正常显示出设备的名称了。
ubuntu无法通过mtp连接手机时:
1、输入命令安装
sudo apt-get install libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9
2、编辑 /etc/fuse.conf 文件,修改 #user_allow_other 为 user_allow_other
sudo gedit /etc/fuse.conf
3、连接手机,lsusb 命令查看你的手机usb设备的PID VID,例如我的手机的设备码就是第一行所示:
- Bus 002 Device 003: ID 2717:1268
- Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
- Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
- Bus 001 Device 006: ID 17ef:480d Lenovo Integrated Webcam [R5U877]
- Bus 001 Device 005: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
- Bus 001 Device 004: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
- Bus 001 Device 003: ID 17ef:6050 Lenovo
- Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
- Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
这里2717为VID(厂商标志),1268为PID(产品标志)
4、编辑配置文件 /lib/udev/rules.d/69-mtp.rules 如文件不存在则新建,注意文件中替换自己的usb设备代码
sudo gedit /lib/udev/rules.d/69-mtp.rules
如我的手机从上面获取到的PID,VID,添加代码如下:
ATTR{idVendor}=="2717", ATTR{idProduct}=="1268", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
5、 如果不重启电脑的话,可以试试重启usb服务,然后再重新拔插一下usb数据线即可生效:
sudo service udev restart
参考:http://blog.csdn.net/syhost/article/details/39346787