2012-02-19 69 views
8

其他可能在ubuntu linux下遇到adb调试问题。如何在ubuntu下使用adb usb-connect android设备

症状是usb连接android设备的可用性,例如,与日食。 当你

error: insufficient permissions for device 

你可能遇到像我同样的问题,您可以与

adb usb 

进行测试。 但是,我在互联网上发现了一些或多或少的次优解决方案

基本思想是以root身份启动adb。我发现的解决方案非常麻烦。

一个建议是每sudo启动adb。另一个建议是在/etc/init.d中设置启动脚本。

我的解决方案是让adb拥有以root身份启动的权限。要做到这一点,切换到root

sudo bash 
chown root adb 
chmod ug+s-w adb 

安全爱好者可以提出

sudo chown root adb 
sudo chmod ug+s-w adb 

如果亚行已经在运行,你需要杀死恶魔,开始以root权限

adb kill-server 

当一切去吧

adb usb 

应该返回

restarting in USB mode 

如果没有,使用的lsusb次检查你的设备是否已经连接

+0

请不要这样做! adb程序的作者不打算将其开发机器端作为root运行,而是使用udev规则仅允许访问列出的设备类型。信任一个程序超过其作者的建议是一个坏主意!此外,投票结束,因为实际上并没有提出问题,而这个话题已经被无数次覆盖。 – 2013-04-28 17:38:43

回答

11

的谷歌推荐的方式来处理ADB设备权限是创建一个udev规则这将设置在设备上适当的权限枚举。

http://developer.android.com/tools/device.html

如果你在Ubuntu Linux开发,你需要添加一个udev规则 文件,其中包含了每种类型的设备,你 要用于发展一个USB配置。在规则文件中,制造商的每个设备 都由唯一的供应商ID标识,由ATTR {idVendor}属性 指定。有关供应商ID的列表,请参阅下面的USB供应商ID, 。在Ubuntu Linux上设置设备检测:以root用户身份登录并创建此文件:/etc/udev/rules.d/51-android.rules。使用这种格式 到每个供应商添加到文件:SUBSYSTEM == “USB”, ATTR {idVendor} == “0BB4”,MODE = “0666”,GROUP = “plugdev”

在这个例子中,所述供应商ID是HTC。 MODE分配 指定读取/写入权限,GROUP定义哪个Unix组 拥有设备节点。注意:根据您的环境,规则语法可能略有不同 。根据需要查阅您的 系统的udev文档。有关规则语法的概述,请参阅编写udev规则的 指南。现在执行:chmod a + r /etc/udev/rules.d/51-android.rules当通过USB插入时, 可通过执行您的SDK platform-tools /目录中的 的adb设备来验证您的设备已连接。如果连接,您会看到 设备名称被列为“设备”。

2

使用以下三个命令其作品对我来说

sudo bash 
adb kill-server 
adb usb 
+1

-1不要以root身份运行adb – 2014-08-08 16:07:54

相关问题