解决Ubuntu下adb无法识别android手机的问题

如题所述

第1个回答  2022-06-11

在Ubuntu下进行Android开发的时候会遇到手机无法识别的问题,手机插上后执行 adb root 会显示没有权限:

遇到这种情况需要在Ubuntu设置下。根据以下步骤进行设置后会解决这个问题,我所使用的开发环境是Ubuntu16.04。

1. 首先插上手机,终端执行 lsusb ,这样便可以查看当前连接电脑的设备

可以发现,插入的手机的VendorID是 18d1 , ProductID是 9025
如果不能知道哪个是插入的手机,可以拔掉手机后再执行一次 lsusb ,这样对比两次显示的结果就可以找到插入的手机。

2. 终端执行如下命令

53-android.rules文件可能不存在,那就创建。
注意,这个53-android.rules 文件名字应该是随意命名的,好像数字50,51,52,53等等都可以,我只验证过50和53。

3. 增加如下内容到53-android.rules

注意, SUBSYSTEM=="usb", SYSFS{idVendor}=="**18d1**", MODE="0666" 这句是给 ubuntu 7.01 以后的系统识别用的.
而 SUBSYSTEM=="usb_device", SYSFS{idVendor}=="**18d1**", MODE=="0666" 是给 Ubuntu 7.01之前的系统识别用的,相当于系统兼容。

4. 接着运行如下命令

注意, sudo /etc/init.d/udev restart 也可以为 sudo service udev restart //or restart udev

5. 在android sdk的tools目录下运行(这一步很重要,必须要sudo,否则没效果)

到这一步了,正常情况下应该会有设备显示出来。但结果发现 List of devices attached 下面没有设备出现,这就意味着 adb不识别新的USB 设备,纠结了。

6. 如果跟我一样悲惨,请执行如下操作

注意,如果没有 .android 和 adb_usb.ini ,可以自己新建。
另外如果有 adb_usb.ini ,它的内容一般如下:

7. 在 adb_usb.ini 中添加前面获得的VendorID内容

注意,要加十六进制符号 0x

8. 保存,关闭,执行如下命令

此时,List of devices attached 下面会有设备出现了。

至此,结束。

相似回答
大家正在搜