在Reh Hat Linux上启用USB调试模式

时间:2013-06-25 11:41:45

标签: android linux eclipse redhat

我目前正在使用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

请帮助。在此先感谢:)

3 个答案:

答案 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组并将您的用户添加到其中。