VirtualBox上的Ubuntu之Adb debug

来源:互联网 发布:illustrate软件 编辑:程序博客网 时间:2024/04/28 06:22

环境:

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
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", OWNER="username"
#Dell     413c
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", OWNER="username"
#Foxconn     0489
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", OWNER="username"
#Garmin-Asus     091E
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", OWNER="username"
#HTC     0bb4
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", OWNER="username"
#Huawei     12d1
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", OWNER="username"
#Kyocera     0482
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", OWNER="username"
#LG     1004
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", OWNER="username"
#Motorola     22b8
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", OWNER="username"
#Nvidia     0955
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", OWNER="username"
#Pantech     10A9
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666", OWNER="username"
#Samsung     04e8
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", OWNER="username"
#Sharp     04dd
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", OWNER="username"
#Sony Ericsson     0fce
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", OWNER="username"
#ZTE     19D2
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666", OWNER="username"

0 0