由于Linux系统的安全性设置等原因,非root用户使用外部设备或者某些硬件接口会受到限制。Google官方提供的SDK并不能直接工作,如找不到设备或者显示一堆问号以及Permission Denied。
记得以前有看过Google官方提供的解决方案,即将指定的USB设备读写权限赋予普通用户。
首先使用lsusb命令查看连接到计算机的usb设备,找到Android手机对应的厂商ID和产品ID,如Bus 001 Device 004: ID 0bda:0001,则0bda和0001分别对应厂商ID和产品ID。小技巧:在连接手机前先查看一次lsusb的结果,连上手机后找到lsusb里新增的那行记录即可。国内股有些小厂的厂商ID可能设为Google或HTC的。其实厂商ID设置成什么都无所谓,只是一个标志而已。
第二步,编辑/etc/udev/rules.d/70-android.rules文件。写入以下内容(Ubuntu下测试通过):
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="0001",MODE="0666"
其中0bda和0001分别替换成对应的厂商ID和产品ID。
第三步,赋予读和执行权限:chmod a+rx /etc/udev/rules.d/70-android.rules
最后,拔出手机,重启adb并插回手机即可:adb kill-server
查看设备列表以验证成功 adb devices
其实Linux连接Android手机比Windows方便多了,起码不用满世界找驱动。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于