我正在运行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
显然,文件是在那里,至less可执行文件,为什么不能bash似乎find它? 我已经尝试将platform-tools文件夹添加到我的path以及sudo和su-ing中,但不pipe文件看起来如何。 有谁知道会发生什么?
您在64位系统上运行,并且没有安装32位兼容性库。
这个错误实际上是来自它找不到32位ld.so
的事实。
如果你使用Ubuntu / Debian,我想你只需要sudo apt-get install ia32-libs
,它应该工作。
对于“现代”版本的Ubuntu(13.10和更高版本),接受的答案已经不再适用了:他们删除了“32位可压缩库”,而是需要使用可以彼此相邻共存的多层包。 看看ia32-libs包发生了什么? 在AskUbuntu上。
相反,你需要安装32位版本的libc
:
sudo apt-get install libc6:i386
接下来,我遇到了adb
也需要32位版本的libstdc++
:
sudo apt-get install libstdc++6:i386
现在adb
应该(再次)工作。
在64位Linux机器上的Android SDK显示还需要其他一些库。 我似乎并没有要求他们,但可能已经安装了他们。