2013-06-25 43 views
0

我目前使用的是RHEL 5,需要将我的Nexus 4连接到我的电脑并启用USB调试(完成),以便我可以直接在手机上运行我的android项目而不是模拟器这是非常缓慢且费时的痛苦。我已经更新了我的Android SDK管理器,并注意到我没有找到任何可用于Windows的Google USB驱动程序。一些更多的谷歌搜索,我遇到了一些步骤要在Ubuntu中完成这一点: 1. sudo lsusb 2.获得两个十六进制值sepearetd由':'(这是manufacturerID:deviceID你需要告诉系统处理) 3.然后以root身份执行以下操作: 须藤苏 -在Reh Hat Linux上启用USB调试模式

cd /etc/udev/rules.d 
vi 51-android.rules 

在这个文件中,添加一行,使您能够处理您的设备。问题是:我的rules.d文件夹中没有这个文件。那么在任何其他Linux发行版(在我的例子中为RHEL 5)中,我的设备可以识别的程序是什么。

而且,当我这样做:

adb devices 

输出:

List of devices attached 
???????????? no permissions 

请帮助。在此先感谢:)

回答

1

您可以更改adb可执行文件的权限以便能够访问usb。 先尝试,如果亚行工作正常,用root权限使用时:

sudo ./adb kill-server 
sudo ./adb start-server 
sudo ./adb devices 

如果您没有在系统上安装“sudo的”,只是做上面用root用户的操作。如果有效,可以使用以下解决方法使其永久工作:

chown root:user_group adb 
chmod 4550 adb 

之后它应该工作。

+0

感谢Alex我使用您的命令进行了验证,adb工具正常工作。但是,它仍然无法识别我的设备。我正在使用RHEL 5.这是一个问题,还是我在添加到新创建文件(51-android.rules)的行中犯了一个错误:SUBSYSTEM ==“usb”,ATTR {idVendor} ==“1004”,MODE =“0666”,GROUP =“plugdev” plugdev在这里表示什么?是用户组名称还是某个关键字?如果我的值是1004表示LG,我把它从开发者网站 –

+0

完成。工作!!我没有运行COM以根为主。现在它能够识别我的设备。非常感谢 :) –

1

您将不得不从头开始创建该文件并插入该行,否则将无法正常工作。

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

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

+0

我创建的文件,增加了行:SUBSYSTEM == “USB”,ATTR {idVendor} == “1004”,MODE = “0666”,GROUP = “plugdev” 1004是LG。然而,adb仍然无法识别我的设备:( –

+0

不要忘记做'chmod a + r /etc/udev/rules.d/51-android.rules'并重新插入你的设备 – androidnoob

+0

我做到了,但仍然是adb无法识别我的设备,我使用的值是否有任何问题,例如GROUP字段?我不知道“plugdev”的含义是什么? –

0

进入adt-bundle-linux-x86_64-20130917/sdk/platform-tools目录。

下面的命令集工作对我来说

[[email protected] platform-tools]$ su 
Password: 
[[email protected] platform-tools]# ./adb kill-server 
[[email protected] platform-tools]# ./adb start-server 
* daemon not running. starting it now on port 5037 * 
* daemon started successfully * 
[[email protected] platform-tools]# ./adb devices 
List of devices attached 
2648A9CFD67FD21E device 

我使用CentOS 6.4。该设备是Micromax A-62运行Android 4.0.4(ICS)。文章Troubleshooting steps when Android device is detected but not recognized by Eclipse ADT中提供了详细的屏幕截图解决方案。

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" 

这之后,我做了(根):

udevadm control --reload-rules ; udevadm trigger 

,然后,为myuser

adb kill-server 
adb devices -l 

解释:指定udev规则文件中的GROUP=选项在插入时将拥有该设备的组。在基于Debian的发行版中,有一组实现此目的的组,但是一些基于RHEL的较新版本的发行版不具备此功能。这会在adb与常规(非root)用户一起运行时创建权限问题,因为它无法访问设备。

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

另一种解决方案(未经测试,但应该工作一样)将创建plugdev组和用户添加到它。