关于ubunut挂载android设备问题

来源:互联网 发布:r语言lda函数源码 编辑:程序博客网 时间:2024/04/30 12:11
B接手机(手机需要切换到usb调试模式 设置-->应用程序-->开发-->usb调试)

 

lemon@*:~/android-sdks/platform-tools$ lsusb
... ...
Bus 001 Device 003: ID 5986:0241 Acer, Inc BisonCam, NB Pro
Bus 002 Device 006: ID 19d2 :1382 ONDA Communication S.p.A.
Bus 002 Device 003: ID 1058:1023 Western Digital Technologies, Inc.
Bus 003 Device 002: ID 147e:1001 Upek
Bus 004 Device 002: ID 093a:2516 Pixart Imaging, Inc.
Bus 005 Device 002: ID 0a5c:2150 Broadcom Corp. BCM2046 Bluetooth Device

看到上面紫色字体了吗,那就是udev识别的usb调试设备标识 idVendor=19d2 , idProduct=1382
大多数ZTE android手机应该都一样。

事实上可以去官网查 USB Vendor IDs 列表:

http://developer.android.com/guide/developing/device.html#VendorIds

如: ZTE 19D2

 

2、配置udev规则文件,调整设备文件权限
接下来我们就可以根据前面获得的usb调试设备标识来调整我们的设备文件的各种属性以帮助android sdk识别usb调试设备。
在/etc/udev/rules.d下创建规则文件50-android.rules

# mk file with a new window

sudo gedit 50-android.rules

 

# add something as:

SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2 " ,SYMLINK+="android_adb",OWNER="lemon "

 

# save & close window

 

cat 内容如下:
lemon@*:/etc/udev/rules.d$ cat 50-android.rules
SUBSYSTEMS=="usb",ATTRS{idVendor}=="19d2" ,SYMLINK+="android_adb",OWNER="lemon"

ATTRS{idVendor} 为上一步获得的 idVendor 参数
SYMLINK 参数使设备目录增加一个连接文件指向原设备文件
OWNER 为你当前的用户,也是你运行adb服务的用户
(这里要特别注意,我们的目的就是使android手机调试设备文件的所有者权限与开启的 adb 服务的所有者权限相一致,这样usb设备才能被adb服务识别)。

运行以下命令使刚更改的配置生效 (用不了? 有事没事man一下了)
sudo udevadm control --reload-rules

 


4、拔插一下USB,生成新的设备文件
这时会在/dev/下出现一个连接文件android_adb,它指向的设备就是你的USB调试的手机设备。(我心急没去看那个文件)

 

5、开启adb服务,搜寻usb调试设备
在~/android/android-sdk-linux_x86-1.6_r1/tools下运行
$./ adb kill-server
$./ adb start-server
$./ adb devices                             #列出所有已识别设备
List of devices attached

ZTE_SP920    device                 #这个就是我的手机usb设备了