配置在Ubuntu下adb连接Android设备

1.要在linux上用adb或fastboot访问连接至USB的设备,需要配置udev规则。按照以下步骤设置正确的规则:

1)确认的用户包含在plugdev组中。在终端输入

groups

并查看plugdev是否在所列出的组中。如果没有看见列出plugdev,可以使用以下命令将您的用户添加到组:

sudo gpasswd -a 用户名 plugdev

其中用户名替换为当前登陆的linux的用户名。

2)将下列出的规则集复制到一个文本文件中,并将其保存为/etc/udev/rules.d/51-android.rules。需要使用sudo/su才能向那个文件夹中写入文件。

示例:

sudo vi /etc/udev/rules.d/51-android.rules

#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0664", GROUP="plugdev"
#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0664", GROUP="plugdev"
#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0664", GROUP="plugdev"
#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0664", GROUP="plugdev"
#Fujitsu & Fujitsu Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0664", GROUP="plugdev"
#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0664", GROUP="plugdev"
#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="plugdev"
#Haier
SUBSYSTEM=="usb", ATTR{idVendor}=="201e", MODE="0664", GROUP="plugdev"
#Hisense
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0664", GROUP="plugdev"
#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0664", GROUP="plugdev"
#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0664", GROUP="plugdev"
#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0664", GROUP="plugdev"
#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0664", GROUP="plugdev"
#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0664", GROUP="plugdev"
#Lenovo
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0664", GROUP="plugdev"
#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0664", GROUP="plugdev"
#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="plugdev"
#MTK
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0664", GROUP="plugdev"
#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0664", GROUP="plugdev"
#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0664", GROUP="plugdev"
#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0664", GROUP="plugdev"
#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0664", GROUP="plugdev"
#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0664", GROUP="plugdev"
#Pegatron
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0664", GROUP="plugdev"
#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0664", GROUP="plugdev"
#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0664", GROUP="plugdev"
#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0664", GROUP="plugdev"
#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0664", GROUP="plugdev"
#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0664", GROUP="plugdev"
#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0664", GROUP="plugdev"
#Sony
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0664", GROUP="plugdev"
#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0664", GROUP="plugdev"
#Teleepoch
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0664", GROUP="plugdev"
#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0664", GROUP="plugdev"
#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0664", GROUP="plugdev"

这些规则涵盖了所有Google列出的供应商。或者可以只添加计划连接到计算机的设备的供应商。

如果不确定设备的供应商,idVendor可以用lsusb确定:

$ lsusb

Bus 002 Device 054: ID 0bb4:0f87 HTC (High Tech Computer Corp.)

...

在本例中,0BB4是idVendor,而0f87是idProduct。

3)修改51-android.rules的访问权限

sudo chmod a+rx /etc/udev/rules.d/50-android.rules

然后重启udev服务

sudo service udev restart  或者 sudo restart udev

2.重启adb,查看Android设备

进入android SDK目录下的/platform-tools/目录,执行

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb devices

第二条命令必须要加sudo。有时adb无法找到设备。是因为adb守护进程的权限不够。

如果你执行完这几条命令之后看到的是;类似于这样的提示信息

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 

List of devices attached 下面没有设备出现,这就意味着 adb不识别新的USB 设备。还要再进行第3步操作。

3.创建或修改 adb_usb.ini

sudo vi~/.android/adb_usb.ini

里面的内容是这样的:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.

在后面添加上之前得到的idVendor编号即可。例如小米手机的idVendor2717,添加一句0x2717在最后。

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x2717

重复第2步,即可查看到设备:

adb devices
List of devices attached 
5DS4ZTSSYTQ4EA4H device


参考:

  1. adb简介
  2. UDEV
  3. Using Hardware Devices
  4. Ubuntu(Linux)下手机调试Android程序(小米手机连接上Android ADB)
  5. Android杂谈--ubuntu系统下adb连接小米2

你可能感兴趣的:(配置在Ubuntu下adb连接Android设备)