我目前正在使用RHEL 5并且需要将我的Nexus 4连接到我的PC并启用USB调试(完成),以便我可以直接在手机上运行我的Android项目,而不是模拟器,这非常慢且耗费时间。我更新了我的Android SDK管理器,发现我没有找到任何可用于Windows的Google USB驱动程序。更多Googling和我在Ubuntu中遇到了一些需要遵循的步骤:
1. sudo lsusb
2.通过':'获取两个十六进制值sepearetd(这是您需要告诉系统处理的manufacturerID:deviceID)
3.然后以root用户身份执行以下操作:
sudo su -
cd /etc/udev/rules.d
vi 51-android.rules
在此文件中,添加一行,以便您处理设备。问题是:我的rules.d文件夹中没有此文件。那么在任何其他Linux发行版(在我的情况下是RHEL 5)中使我的设备可识别的程序是什么。
另外,当我这样做时:
adb devices
输出:
List of devices attached
???????????? no permissions
请帮助。在此先感谢:)
答案 0 :(得分:1)
您必须从头开始创建文件并插入该行,否则将无效。
按照您找到的说明进行操作,确保安全。
如果您按照以下步骤操作,adb设备将正确显示您的设备。
答案 1 :(得分:1)
您可以更改adb可执行文件的权限,以便能够访问USB。 如果adb正常工作,请在使用root权限时首先尝试:
sudo ./adb kill-server
sudo ./adb start-server
sudo ./adb devices
如果您的系统上没有安装“sudo”,只需使用root用户执行上述操作即可。如果可行,您可以使用以下解决方法使其永久工作:
chown root:user_group adb
chmod 4550 adb
在此之后它应该有效。
答案 2 :(得分:0)
当使用RHEL / CentOS 6.6时,我也遇到了这个问题,其中没有plugdev
组。
我使用非特权用户帐户adb
运行myuser
。
我的解决方案是使用规则创建/etc/udev/rules.d/50-android.rules
文件:
# udev rules for USB android devices
# samsung: 04e8
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="myuser"
# LG: 1004
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="myuser"
之后我做了(以root身份):
udevadm control --reload-rules ; udevadm trigger
然后,作为myuser
:
adb kill-server
adb devices -l
解释:udev规则文件中的GROUP=
选项指定插入时将拥有设备的组。在基于Debian的发行版中,有一个plugdev
组可以实现此目的,但是一些较新的基于RHEL的发行版没有它。当adb
与常规(非root)用户一起运行时,这会产生权限问题,因为它无法访问设备。
解决方案是将USB设备分配给存在的组以及您的linux用户所属的组。在我的情况下,我选择将设备分配给我的用户"个人"组,它具有适当的权限。
另一种解决方案(未经测试,但应该相同)是创建plugdev
组并将您的用户添加到其中。