android - adb 设备命令不起作用

标签 android linux ubuntu adb

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

我的问题:

  1. adb devices >>> ????????????没有权限
  2. sudo adb devices >>>> sudo: adb: command not found
  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 的 root Moto Droid 和运行基于 CM7 的 ROM 的 root G-Tab 得到相同的结果。

我查看了以下相关帖子:

我尝试了大部分(不是全部)建议,但未能解决我的问题。我没有尝试的事情似乎不合适。如果您再提供一些提示,我将不胜感激,我会继续排除故障。

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

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

  1. 上面的第 2 项(sudo: adb: command not found)通过如下的符号链接(symbolic link)得到解决:

    $ sudo ln -s /opt/android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
    

    这让我可以按照 EboMike 的建议使用 this solution .我的 Moto Droid 需要这样做。 (不过,对于我的 Viewsonic G-Tablet,不需要以 sudo 运行 adb。)

  2. 按照 RivieraKid 的建议(来自 link),通过实现 udev 规则解决了我的其他两项问题。

最佳答案

One thing I didn't try was editing /etc/udev/rules.d/70-android.rules. Is that likely to be the issue?

您没有这样做的任何特殊原因?回答这个问题 - 是的! udev 规则告诉 Ubuntu 你的设备是什么,并允许用户空间工具访问它。

如果不正确遵循 instructions,您将无法使用 adb .

但是,考虑到这一点,您没有说明您使用的是哪个版本的 Ubuntu,但我遇到了 10.10 的问题 - 如果您需要我发布我的规则文件的内容,请告诉我。

不用担心通过 sudo 运行 adb,你不需要它。 udev 规则中的 MODE="0666" 允许您以任何用户身份访问设备。


编辑:

别忘了重新加载规则:

sudo udevadm control --reload-rules

编辑#2:

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

sudo adb kill-server

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

关于android - adb 设备命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5510284/

相关文章:

linux - 重命名文件的shell脚本

ubuntu - docker bridge 连接中断了互联网

java - 如何在android中校准方向传感器?

java -> 无法隔离参数 com.android.build.gradle

android - 在方向改变时切换 fragment 或 Activity (即布局)

java - 未安装 Oracle JDK 8。已安装的子进程安装后脚本返回错误退出状态 1

linux - 意外创建了带有句点的目录。特点

java - 从包创建使用权限时出错

linux - 比较程序集 x86 中的数字和变量

c++ - 如何打印 Qt :HANDLE on linux? (Qt5)