9

我正在运行 ArchLinux,内核 3.4.4,bash 版本 4.2.29。我从这里下载了 android sdk:http: //developer.android.com/sdk/index.html

解压后,我做了、~/android-sdk-linux/tools/android安装并安装了 SDK 平台工具包。

从那里我尝试了以下方法:

> ls -l ~/android-sdk-linux/platform-tools/adb 
-rwxr-xr-x 1 mediocregopher mediocregopher 204436 Jun 28 13:20 /home/mediocregopher/android-sdk-linux/platform-tools/adb

> file ~/android-sdk-linux/platform-tools/adb 
/home/mediocregopher/android-sdk-linux/platform-tools/adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped

> ~/android-sdk-linux/platform-tools/adb 
bash: /home/mediocregopher/android-sdk-linux/platform-tools/adb: No such file or directory

显然该文件在那里并且至少是可执行文件,为什么 bash 似乎找不到它?我已经尝试将 platform-tools 文件夹以及 sudo 和 su-ing 添加到我的路径中,但是无论看起来如何,都找不到该文件。有谁知道会发生什么?

4

2 回答 2

17

您在 64 位系统上运行,并且没有安装 32 位兼容性库。

该错误实际上来自它找不到 32bit 的事实ld.so

如果您使用的是 ubuntu/debian,我认为您只需要sudo apt-get install ia32-libs并且它应该可以工作。

于 2012-06-28T17:47:34.793 回答
9

对于 Ubuntu 的“现代”版本(13.10 及更高版本),已接受的答案不再起作用:他们删除了“32 位兼容性库”,而您需要使用彼此愉快共存的多架构软件包。请参阅ia32-libs 包发生了什么?在 AskUbuntu 上。

相反,您需要安装 32 位版本libc

sudo apt-get install libc6:i386

接下来,我遇到了 32 位版本libstdc++也需要adb

sudo apt-get install libstdc++6:i386

现在adb应该(再次)工作。

64 位 linux 机器上的 Android SDK显示还需要一些其他库。我似乎也不需要它们,但可能已经安装了它们。

于 2014-05-09T21:08:10.960 回答