0

我目前正在使用 RHEL 5,需要将我的 Nexus 4 连接到我的 PC 并启用 USB 调试(完成),这样我就可以直接在手机上运行我的 android 项目,而不是在非常慢且非常耗时的模拟器上运行。我更新了我的 Android SDK 管理器,并注意到我没有找到任何与 Windows 中可用的 Google USB 驱动程序相同的东西。更多谷歌搜索,我遇到了在 Ubuntu 中完成此操作的一些步骤:1. sudo lsusb 2. 获取两个十六进制值,由 ':' 分隔(这是您需要告诉系统处理的制造商 ID:设备 ID)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

请帮忙。提前致谢 :)

4

3 回答 3

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

在此之后它应该工作。

于 2013-06-25T12:31:31.273 回答
1

在使用 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

解释:GROUP=udev 规则文件中的选项指定插入设备时拥有设备的组。在基于 Debian 的发行版中,有一个plugdev组可以实现此目的,但一些较新的基于 RHEL 的发行版没有它。adb当使用常规(非 root)用户运行时,这会产生权限问题,因为它无法访问设备。

解决方案是将 USB 设备分配给一个存在的组,并且您的 linux 用户属于该组。在我的情况下,我选择将设备分配给我的用户的“个人”组,它具有适当的权限。

另一种解决方案(未经测试,但应该工作相同)是创建plugdev组并将您的用户添加到其中。

于 2015-01-07T11:42:13.110 回答
1

您必须从头开始创建文件并插入该行,否则它将不起作用。

按照您找到的说明进行操作,您是安全的。

如果您按照这些步骤操作,adb devices 将正确显示您的设备。

于 2013-06-25T12:01:02.287 回答