Ubuntu下解决adb devices无权限问题的详细步骤

需积分: 6 0 下载量 125 浏览量 更新于2024-08-05 收藏 46KB DOCX 举报
在Ubuntu环境下,特别是在基于Linux的虚拟机如Vmware中的Ubuntu 12.10中,开发人员可能会遇到使用adb devices时遇到"?????, nopermissions"权限问题。这个问题的发生主要是由于Ubuntu操作系统默认以非root用户身份运行,为了启用USB调试功能,需要获取sudo权限。 当尝试连接Android设备并执行adb devices时,USB设备无法识别或者没有权限访问,这通常是由于udev规则文件没有正确配置来授予USB设备的读写权限。udev是Linux内核的一部分,负责管理和配置USB设备。 解决这个问题的步骤如下: 1. 首先,使用`lsusb`命令检查USB设备的状态,找到与你的Android设备相对应的ID,例如,设备ID为18d1:9025,这个信息将在后续步骤中用到。 2. 打开`/etc/udev/rules.d/70-android.rules`文件,如果它不存在,需要创建一个新的文件。然后,根据设备的ID(这里是18d1:9025),添加一条规则。规则应该以以下格式编写: - 单个设备: ``` SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9025", MODE="0666" ``` - 如果有多个设备,可以在同一文件中添加多条规则,每条针对一个设备。 3. 保存文件后,使用`sudo`改变文件权限,确保所有用户可以读取和执行(可执行)文件: ``` sudo chmod a+rx /etc/udev/rules.d/70-android.rules ``` 4. 接下来,重启udev服务以应用新的规则,命令如下: ``` sudo service udev restart ``` 5. 不需要重启整个系统,只需简单地停止并重新启动adb服务器。首先,使用`adb kill-server`停止服务,然后使用`adb start-server`重新启动。接着,安全地断开USB连接,然后重新连接设备,并再次运行`adb devices`命令,此时应该可以看到设备正常显示并具备适当的权限。 通过以上步骤,你应该能够解决Ubuntu下adb devices遇到的权限问题,顺利地与Android设备进行调试操作。这在开发过程中是一个常见的问题,熟悉并掌握这些解决方法对于跨平台开发至关重要。