source: https://blog.csdn.net/binglumeng/article/details/69525361
1. adb的安装
本人的Linux开发环境为Ubuntu Server 16.04,有使用其他平台,如CentOS等,可灵活变通。
1 | sudo apt install adb |
2. no permissions
安装好adb工具之后,连接安卓设备,并开启usb调试,使用adb devices发现显示出来的竟然是xxxxxxx no permissions
在网上查看到有相关解决方案:
首先,在未连接Android设备的情况下,用
lsusb
查看一下usb设备:1
2
3
4
5lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 005: ID 0cf3:e005 Atheros Communications, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub然后,打开android设备的usb调试模式,连接到Linux电脑上,再用
lsusb
查看一下usb设备:1
2
3
4
5
6lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 001 Device 005: ID 0cf3:e005 Atheros Communications, Inc.
Bus 001 Device 019: ID 2207:0010 # 此条新增的条目,则是新连接的android设备
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub如上则可以查看到新连接的Android设备信息,注意其ID号,这里是
2207
和0010
,分别表示vendorID和productID。然后cd /etc/udev/rules.d/目录下,在.rules文件(比如:custom-usb.rules)新增以下配置:
1
SUBSYSTEM=="usb",ATTRS{idVendor}=="2207",ATTRS{idProduct}=="0010",MODE="0666"
这里MODE表示权限。
给新增配置增加执行权限,并重启udev服务:
1
2sudo chmod a+rx /etc/udev/rules.d/custom-usb.rules
sudo service udev restart至此,拔掉usb重新连接,然后在运行如下命令,便可进行adb操作
1
2
3
4
5
6
7sudo adb kill-server
sudo adb start-server
sudo devices
若要需要root权限进入Android设备的shell,可以运行
adb root
adb remount
adb shell
3. adb devices为空
若是运行adb devices
列表为空,而lsusb却能看到已经连接的Android设备,此时可以
1 | 编辑adb_usb.ini文件 |