在Ubuntu 18.04 安装 adb

背景

==================================================================

需要使用到一个开机时间调试的工具,因此需要在开发服务器上安装 adb工具。

参考文档:


做法

不需要其他的操作,通过apt安装即可

sudo apt install -y android-tools-adb

插入安卓设备,执行adb devices

List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully

...

附录:有关问题以及解决

权限问题

提示:

(no serial number)    no permissions (user xx is not in the plugdev group); see [http://developer.android.com/tools/device.html]

解决办法:

1、在下面路径创建或修改规则文件:

sudo vi /etc/udev/rules.d/adb.rules

2、规则文件中输入以下内容:

SUBSYSTEM=="usb", MODE="0660", GROUP="plugdev", SYMLINK+="android%n"

3、再次拔插设备即可

找不到设备

lsub已经找到了设备,但是adb devices命令无返回,在PC上是正常的,排除掉是设备本身的原因。

如果遇到这个问题,按照这个方法来就可以了。

$ lsusb
Bus 002 Device 003: ID 0bda:0328 Realtek Semiconductor Corp.
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 05c6:9091 Qualcomm, Inc.
Bus 001 Device 004: ID 0bda:5411 Realtek Semiconductor Corp.
Bus 001 Device 003: ID 413c:301a Dell Computer Corp.
Bus 001 Device 002: ID 413c:2113 Dell Computer Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

显然,只需要插拔1次就能够知道现在的设备号是05c6

Bus 001 Device 007: ID 05c6:9091 Qualcomm, Inc.

绑定Android device VendorID ,在这里是05c6,到下列文件:

VID="05c6"; IDP="9091" ; mkdir ~/.android/ -p ; echo 0x${VID} > ~/.android/adb_usb.ini 

同时添加到 udev的规则中:

SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", ATTRS{idProduct}="9091", MODE="0666"

########### 下列是参考的例子 ###########
## Another Example from Internet
$ cat /etc/udev/rules.d/adb.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="5d03", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="5d24", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="5d24", ATTR{idProduct}="1782", SYMLINK+="android_adb"

SUBSYSTEM=="usb", ATTR{idVendor}=="4ee7", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="4ee7", ATTR{idProduct}="18d1", SYMLINK+="android_adb"

SUBSYSTEM=="usb", ATTR{idVendor}=="201c", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="201c", ATTR{idProduct}="0e8d", SYMLINK+="android_adb"

SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}="12d1", ATTR{idProduct}="1079", SYMLINK+="android_adb"

SUBSYSTEM=="usb", ATTR{idVendor}="0bb4", ATTR{idProduct}="0c03", SYMLINK+="android_adb"

...
注意ATTRS{idVendor}==后面的数字是第一步记录的冒号前面的数字,ATTRS{idProduct}==后面接冒号后面的数字

重启服务:

sudo service udev restart; sudo adb kill-server ;sudo adb start-server

* daemon not running; starting now at tcp:5037
adb* daemon started successfully

测试:

$ adb devices
List of devices attached
(no serial number)    device

标签: Ubuntu, usb, adb, ATTR, SUBSYSTEM, idVendor, MODE

相关文章推荐

添加新评论,含*的栏目为必填