在Ubuntu 18.04 安装 adb
背景
需要使用到一个开机时间调试的工具,因此需要在开发服务器上安装 adb工具。
参考文档:
- https://blog.csdn.net/liyunlong19870123/article/details/113616046
- https://www.cnblogs.com/shinedream/p/12065972.html
- https://www.cnblogs.com/nightbird/p/7384021.html
做法
不需要其他的操作,通过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