本来要运行CTS测试,在虚拟机中ubuntu获得windows焦点后,插上usb后运行adb找不到手机设备。后来在SDK中查了下帮助,还是不行,
最后发现完全安装SDK中的说明去操作不行,需要进行如下操作:
先运行
$lsusb
Bus 002 Device 002: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 012: ID 1782:5d01 Spreadtrum Communications Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
可以看到id好是1782
中间碰到运行lsusb始终不退出的情况则:
1. 点虚拟机菜单的VM > Removable Devices > Spreadtrum Phone > disconnect
2. 点虚拟机菜单的VM > Removable Devices > Spreadtrum Phone > connect
再插拔下usb线,再运行lsusb
编辑
$sudo gedit /etc/udev/rules.d/50-android.rules
里面的内容根据lsusb返回的内容修改 :
SUBSYSTEM=="usb", SYSFS{"Spreadtrum Communications."}=="1782", MODE="0666"
保存。
$sudo service udev restart
如果还不行
$android update adb
会在~\.android\目录下建一个usb_adb.ini文件。
打开这个文件,在最后加一行,内容根据lsusb的返回值,这里为0x1782
$sudo ./adb root
$sudo ./adb kill-server
$sudo ./adb start-server
$sudo ./adb devices
如果是windows下,也需要adb_usb.ini文件,只是.android这个目录放在C:\Documents and Settings\登录的用户名\ 这个目录下
有的人根据SDK官方说明定了ANDROID_SDK_HOME 这个环境变量,如果定义了这个环境变量,则.android目录要放到环境变量对应的目录下