Ubuntu下注册Android设备

1. 查看串口信息

打开终端,输入命令"lsusb":

zengyu@zengyu-Precision-T1700:~$ lsusb
Bus 002 Device 003: ID 0bda:0184 Realtek Semiconductor Corp. RTS5182 Card Reader
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 013: ID 2a45:0c02 Meizu Corp. MX Phone (MTP & ADB)
Bus 001 Device 004: ID 0461:4e22 Primax Electronics, Ltd 
Bus 001 Device 003: ID 413c:2107 Dell Computer Corp. 
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

找到Android设备对应的串口信息,ID对应的值是串口编号。

Bus 001 Device 013: ID 2a45:0c02 Meizu Corp. MX Phone (MTP & ADB)

2. 新建规则文件

在"/etc/udev/rules.d/"目录下新建一个文件名为"xx-android.rules"的文件,其中xx用于区分你的每台设备,为一个数字,并在其中输入设备的注册信息:

zengyu@zengyu-Precision-T1700:~$ cd /etc/udev/rules.d/
zengyu@zengyu-Precision-T1700:/etc/udev/rules.d$ sudo cat>>92-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="2a45", MODE="0666"

其中的"2a45"就是刚才获取到的串口编号前半段值,按"Ctrl + d"保存并退出。


3. 修改文件权限

sudo chmod a+x 92-android.rules

4. 重启设备管理器

sudo /etc/init.d/udev restart

5. 重启adb

在Android Studio的终端窗口:

adb kill-server && adb start-server

或者自己跳转到adb所在文件夹(Android SDK -> platform-tools)打开终端窗口:

sudo ./adb kill-server && sudo ./adb start-server

6. 扩展知识

  • 设备编号
    USB设备编号分为前后两部分,分别为Vender ID和Product ID,Vender ID是设备制造商的标识,Product ID是制造商的产品标识。

  • 设备管理器
    udev是Linux的设备管理器,它在新设备连接时执行规则文件,即"/etc/udev/rules.d/“目录下以”.rules"结尾的文件,某些Linux系统中,默认规则文件名为"50-udev.rules",而udev是按照字母升序执行这些规则文件,因此如果你希望自定义的规则文件在默认文件执行之后再执行,就要让文件名开头大于50。


7. 参考文献

发布了91 篇原创文章 · 获赞 39 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/zy13608089849/article/details/82628364