我在 Fedora 16 OS,64 位的 Eclipse 上安装 ADT(Android 开发工具)时遇到了很大的困难。
Eclipse 本身运行良好。
按照指示,我首先安装了常规的 Android SDK,即操作系统级别的工具包。进展顺利,我能够在工具目录中使用 Android 应用程序。
在 Eclipse 中,这有点困难,因为我首先必须安装 GWT 或 google 相关工具,这需要 WST 的核心 Eclipse Indigo 更新。最后,ADT 安装报告成功。
但是,每次打开 Eclipse 时,都会弹出大量关于 libncurses.so.5 和以下日志的弹出窗口:
[2012-04-04 02:06:35 - adb] /opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[2012-04-04 02:06:35 - adb] 'adb version' failed!
/opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[2012-04-04 02:06:35 - adb] Failed to parse the output of 'adb version':
Standard Output was:
Error Output was:
/opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[2012-04-04 02:06:35 - adb] /opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[2012-04-04 02:06:35 - adb] 'adb version' failed!
/opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
[2012-04-04 02:06:35 - adb] Failed to parse the output of 'adb version':
Standard Output was:
Error Output was:
/opt/android-sdk-linux/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory
当我尝试打开 Android SDK 管理器(在窗口下)时,插件确实打开了,但窗口在任何地方都没有关闭按钮(与操作系统级别的同一个按钮不同,它看起来也一样)所以唯一的方法是退出其中一个是找到 Eclipse PID 并杀死它。
这完全解决了问题:
yum install ncurses-libs.i686 libstdc++.i686 libgcc.i686
发生这种情况是因为 Android SDK 是一个 32 位应用程序并且需要一些 32 位共享库,
我在 Ubuntu 64 位上遇到了同样的问题,并修复了:
$ sudo apt-get install ia32-libs
sudo apt-get install libncurses5:i386
即可安装所需的库 - 比 ia32-libs
轻得多
只安装 libncurses5:
$ sudo apt-get install libncurses5:i386
ia32-libs 将安装许多不必要的库。
yaourt -S multilib/lib32-ncurses
用于 ArchLinux
您可能没有安装 libncurses5
。尝试
rpm --install ncurses-libs
在centos上有类似的问题:
./adb:加载共享库时出错:libncurses.so.5:无法打开共享对象文件:没有这样的文件或目录
做了以下事情:
yum install ncurses ncurses-devel ncurses-libs ncurses-libs.i686 ncurses-devel.i686
问题解决了。
这个 tip from Tim Mattison's blog 在 Debian Wheezy 下为我完成了它:
sudo apt-get install lib32ncurses5 lib32stdc++6
apt-get install lib32ncurses5 lib32stdc++6
(lib32gcc1 作为依赖项引入)pacman -Syv lib32-libstdc++5 lib32-ncurses lib32-gcc-libs
:)