adb无法在Ubuntu 64位上运行 - 找不到命令。

6

更新

经过一些实验后,我必须重新完全重构我的问题,因为我被我的终端给骗了。当我输入sudo ./adb时,它没有显示错误消息。

如果我cd到ANDROID_SDK/platform-tools目录并运行./adb,我会得到:

command not found: ./adb

以下是在同一目录下运行ls -l adb的输出:

-rwxrwxr-x 1 myuser myuser 159620 2011-12-20 19:30 adb

运行which adb命令会给我以下结果:

./adb

同样的情况也会发生在该目录中所有其他二进制可执行文件上,例如aapt、aidl、dexdump等。
我想这可能与我在64位Ubuntu上尝试运行它有关,但ELF头或类似的东西没有被识别。然而,在ANDROID_SDK/tools中的android工具正在正常运行(除了在下载新软件包后无法执行adb)。
真的很奇怪...
原问题:
我下载了最新的Android SDK。如果我尝试以普通用户身份运行adb,我会收到“命令未找到”的消息。我必须以“sudo ./adb”运行才能正常工作。为什么会这样,我该如何修复?我正在运行Ubuntu 64 11.10。
我在旧版本的Ubuntu上使用过SDK,在那里,我可以以普通用户身份运行它而没有任何问题。有什么建议吗?

我认为adb是Eclipse的插件。当您在目录中看到一个不运行的可执行文件时,这并不明显。我能够找到Android SDK Manager并从Eclipse窗口运行它... - user1727618
不,adb是一个命令行工具。Eclipse插件只是它的图形界面。 - Sebi
3个回答

11

我找到了解决方法。我重新检查了一下是否真正安装了ia32-libs。乍一看,它在aptitude中看起来没问题。但是仔细一看,我注意到ia32-libs软件包已安装,但不是所有依赖项。我无法通过aptitude解决这个问题,而是必须使用KDE软件包管理器删除ia32-libs并再次安装。现在,所有缺失的88个依赖项也被安装了。adb现在可以正常工作。

我不确定为什么aptitude在这里失败,但我怀疑它也受到我安装的这个bug的影响:https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768 我还有所有条目的aptitude重复条目。


很高兴你解决了它。我正要指向http://itsgreatupnorth.blogspot.com/2010/11/android-dev-on-64-bit.html?spref=tw - barry
那篇文章对我帮助很大 - 感谢你的分享。我觉得很奇怪,因为我正在使用他们推荐用于源代码构建的操作系统Ubuntu 10.04 64位,但还是出现了故障。 - josh-cain

1

将platform-tools添加到环境变量中,方法如下:

在您的主目录下的/home/yourUserName/.bashrc文件的末尾添加以下行:

export PATH="your/path/android-sdk-linux/platform-tools/:${PATH}"


我已经有了那个。请回答我的问题:我不能在没有sudo的情况下运行该命令。如果我运行“sudo ./adb”,它就可以工作,但如果我只运行“./adb”(当然我在正确的目录中),它就不能工作。 - Sebi

0
在 Android SDK 文件夹上运行 'chown' 命令,以使您的用户帐户成为该文件夹的所有者。目前似乎是由 root 用户拥有。我记不清语法了,但在线上会有很多示例。

我已经做了这件事。所有文件和文件夹都归属于myuser:myuser。我还尝试将所有内容分配给管理员组,即myuser:admin,但也没有任何区别。 - Sebi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接