在Ubuntu系统中,默认情况下一般用户是不能直接访问USB设备的。因此,为了能够让Ubuntu连接上android手机,我们需要做一定的配置。以下介绍几种配置的方法。
方法一
android官方网站建议我们采用以下方法配置列表内容
新建规则文件
1
sudo touch /etc/udev/rules.d/51-android.rules
执行命令添加
1 | wget -S -O - http://source.android.com/source/51-android.rules | sed "s/<username>/$USER/" | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules; sudo udevadm control --reload-rules |
这种方式是android在其服务器中配置好了nexus系列手机的USB连接规则,然后通过命令获取并写入本地规则文件中。
但是有以下的缺点:只适合nexus系列手机,且断网情况下没法使用
方法二
单独配置每一台手机的USB规则
- 查看当前插入的手机设备信息
1 | lsusb -v | less |
- 配置规则
1 | sudo vi /etc/udev/rules.d/51-android.rules |
加入以下内容1
2# adb protocol on passion
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c31c", MODE="0600", OWNER="zhonghq"
OWNER为当前登录用户
- 重启usb服务
1 | sudo service udev restart |
这种方法也存在较大的缺点,只能配置一台手机,而且配置操作叫复杂。
方法三
通用配置,是根据方法二的优化版本
- 配置规则
1 | sudo vi /etc/udev/rules.d/51-android.rules |
加入以下内容1
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
- 重启usb服务
1 | sudo service udev restart |
此方法配置起来方便快捷,无需查看手机的信息,而且能够适配大部分的手机。
方法四
方法三已经非常实用了,但是在使用过程中,我们还是会发现有部分手机不能连接上,下面这种方法可以作为方法三的辅助。
- 查看当前插入的手机设备信息
1 | lsusb -v | less |
- 配置规则
1 | vi ~/.android/adb_usb.ini |
在文件中加入idVendor号1
0x046d
- 重启adb服务
adb stop-server
adb start-server