环境:
Windows 7、VirtualBox 4.1.18、Ubuntu 12.04 LTE。
在Windows 7上使用VirtualBox虚拟Linux。
碰到的问题
将手机连接PC,但是Linux下无法发现该USB设备;解决该问题后,通过adb访问该设备提示Insufficient permissions for device。
方法步骤:
两个问题都是通过网络上大家share的信息解决的,但都是分开解决,于是将大家的信息整合一下。
1、安装VirtualBox扩展包
下载扩展包(https://www.virtualbox.org/wiki/Downloads),点击安装或通过VirtualBox的菜单安装(File->Preferences->Extensions)
2、配置VirtualBox USB的设置(Settings->USB)
a、关闭虚拟机,虚拟机启动的情况下无法更改设置。
b、将手机连接PC。
c、启用USB控制器和USB2.0(EHCI)控制器
d、新建USB Device filter,点击带蓝点的新建图标(Add Empty Filter),不用修改任何信息
e、将手机和PC的连接断开。
f、启动虚拟机。
g、将手机和PC连接。
到此为止虚拟机上就可以看到USB设备了。
3、在linux添加设备Rules
a、新建文件 /etc/udev/rules.d/51-android.rules,并添加如下内容:
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="username"
b、修改idVendor为你自己的手机设备的ID,通过命令lsusb可以查看设备ID。
如我的机器如下执行命令显示结果如下:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 002: ID 0489:c000 Foxconn / Hon Hai
设备ID为 0489
c、修改OWNER为你的用户名
用linux登录的用户名提花OWNER属性的"username"
d、执行如下命令:
chmod a+r /etc/udev/rules.d/51-android.rules
e、针对手机映射的USB设备执行unmount、mount操作或者重新连接一次手机
至此,你就可以正常使用adb进行手机的debug操作了。
ps:
部分厂商设备ID如下,不包括的部分还需要自己手动添加。
#Acer 0502