我正在运行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
Run Code Online (Sandbox Code Playgroud)
很明显,文件存在,至少可执行文件,为什么bash似乎无法找到它?我已经尝试将platform-tools文件夹添加到我的路径以及sudo和su-ing,但无论看起来什么样的文件都找不到.有谁知道会发生什么?
Pet*_*esh 17
您运行的是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
Run Code Online (Sandbox Code Playgroud)
接下来,我遇到了32位版本libstdc++也需要adb:
sudo apt-get install libstdc++6:i386
Run Code Online (Sandbox Code Playgroud)
现在adb应该(再次)工作.
64位Linux机器上的Android SDK显示其他一些库也是必需的.我似乎也不需要它们,但可能已经安装了它们.