一尘不染

adb devices命令不起作用

linux

我正在运行Ubuntu 10.10 64位。我安装了ia32-libs以及Android Debug Bridge版本1.0.26。

我的问题:

  1. adb devices>>> ???????????? 没有权限
  2. sudo adb devices >>>> sudo:adb:找不到命令
  3. adb shell >>>错误:设备权限不足

我想这些都有关。这是相关信息。

$ echo $PATH
/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/android-sdk-linux_x86/tools:/opt/android-sdk-linux_x86/platform-tools

$ which adb
/opt/android-sdk-linux_x86/platform-tools/adb

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

$ sudo adb devices
sudo: adb: command not found

$ adb shell
error: insufficient permissions for device

使用运行CM6.1的植根Moto Droid和运行基于CM7的ROM植根的G-Tab,可以得到相同的结果。

我尝试了大多数(不是全部)建议,但无法解决我的问题。我没有尝试过的东西似乎不合适。我将不胜感激一些技巧,并将继续进行故障排除。

我没有尝试过的一件事是编辑/etc/udev/rules.d/70-android.rules。这可能是问题所在吗?我看不到这将如何导致“
sudo:adb:命令未找到”。也许我的问题并不都相关。无论如何,在这一点上,我认为我需要其他人的帮助,因为我不认为自己存在路径问题或其他帖子中讨论的其他常见问题。

编辑:已解决, 感谢EboMike和RivieraKid。这实际上是两个不同的问题:

  1. 上面的项目2(sudo:adb:命令未找到)通过以下方式建立符号链接来解决:
    $ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
    

这样,我便可以按照EboMike的建议进行操作并使用此解决方案。这样做对于我的Moto Droid是必需的。(正如须藤执行adb
要求我的优派G-平板电脑,但是。)

  1. 通过执行RivieraKid建议的udev规则(通过此链接)解决了我的其他两项。

阅读 1158

收藏
2020-06-02

共1个答案

一尘不染

我没有尝试过的一件事是编辑/etc/udev/rules.d/70-android.rules。这可能是问题所在吗?

您为何不这样做的任何特定原因?要回答这个问题-是的!udev规则可告知Ubuntu,您的设备是什么,并允许用户空间工具访问它。

如果没有正确按照说明进行操作,将无法使用adb

考虑到这一点,您不会说您使用的是哪个版本的Ubuntu,但是10.10出现了问题-让我知道您是否需要我发布规则文件的内容。

不用担心通过sudo运行adb,您不需要它。在MODE="0666"从udev规则允许您使用该设备的任何用户。


编辑:

不要忘记重新加载规则:

sudo udevadm control --reload-rules

编辑#2:

正如@Jesse Glick正确指出的那样,如果adb已经在守护程序模式下运行,那么您还需要重新启动它才能使其工作:

sudo adb kill-server

我在这里使用sudo,因为这将确保adb将被杀死,并且这是停止服务器的正式支持方法。下次使用adb时,它将自动重新启动,但是这次使用正确的环境。

2020-06-02