加载共享库时出错:libncurses.so.5:

我已经安装了Android Studio,并尝试在其中运行我的第一个项目,我有以下错误:

Error Output was: /home/user/android-studio/sdk/platform-tools/adb: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory 

我已经试过运行了

 sudo ldconfig 

但它没有帮助。 我最近安装了libncurses(在使用android studio之前)。

我该怎么办?

如果你确定已经安装了libncurses,也就是ncurses,就像你已经做了一个成功的ls库一样,那么也许你正在运行一个64位的Linux操作系统,并且只安装了64位的libncurses,正在运行的程序(adb)是32位。

如果是这样的话,一个32位的程序不能连接到一个64位的库(反正也不会找到它),所以你可能需要安装libcurses或者ncurses(32位版本)。 同样,如果你正在运行一个64位的adb,也许你的ncurses是32位(一个可能的但不太可能的情况)。

如果没有安装libncurses,请安装并重试。 sudo apt-get install libncurses5:i386

使用这个命令安装库的集合sudo apt-get install ia32-libs

加载共享库时出错:libncurses.so.5

如果你看到这个,你的发行版可能会安装一个更新版本的libncurse。 首先找出你的发行版有什么版本的libncurses:

 $ ls -1 /usr/lib/libncurses* /usr/lib/libncurses.so /usr/lib/libncurses++.so /usr/lib/libncurses++w.so /usr/lib/libncursesw.so /usr/lib/libncurses++w.so.6 /usr/lib/libncursesw.so.6 /usr/lib/libncurses++w.so.6.0 /usr/lib/libncursesw.so.6.0 

在这种情况下,我们正在处理版本6,所以我们做两个符号链接:

 $ sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libncurses.so.5 $ sudo ln -s /usr/lib/libncursesw.so.6.0 /usr/lib/libtinfo.so.5 

之后,程序应该正常运行。

在Fedora 24上安装ncurses-compat-libs帮助我解决了这个问题(加载共享库时无法启动adb错误:libncurses.so.5)

你的系统可能不会在android studio使用的版本中提供ncurses库。 我的拱门Linux安装只有ncurses 6,但Android工作室需要版本5.您可以检查您的发行版是否有兼容性包,或使用Rahmat Aligos建议的解决方案。

在Arch上,我解决这个问题:sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.6