如何在ubuntu下使用adb连接android设备

时间:2012-02-19 15:54:37

标签: ubuntu usb adb android

其他人可能在ubuntu linux下遇到adb调试问题。

症状是usb连接的Android设备的可用性,例如与日食。 您可以使用

进行测试
adb usb

当你得到

error: insufficient permissions for device
你可能遇到像我这样的问题。 但是,我在互联网上发现了一些或多或少的次优解决方案

基本思路是以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

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

adb kill-server

当一切顺利时

adb usb

应该返回

restarting in USB mode

如果没有,请尝试lsusb检查您的设备是否已连接

2 个答案:

答案 0 :(得分:11)

Google建议的处理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插入时,可以   通过执行adb设备验证您的设备是否已连接   你的SDK平台工具/目录。如果已连接,您将看到   设备名称列为“设备”。

答案 1 :(得分:3)

使用以下三个命令为我工作

sudo bash
adb kill-server
adb usb