57

我已经安装了 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 之前)。

我该怎么办?

4

12 回答 12

104

如果未安装 libncurses,请安装并重试。

对于 32 位二进制文​​件:sudo apt-get install libncurses5:i386

对于 64 位二进制文​​件: sudo apt-get install libncurses5

还可以使用此命令安装库集合,

sudo apt-get install ia32-libs

于 2013-07-23T04:48:39.253 回答
20

加载共享库时出错: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

在此之后,程序应该可以正常运行。

于 2017-03-09T04:32:28.790 回答
13

如果您绝对确定已安装 libncurses(又名 ncurses),就像您已成功完成库的“ls”一样,那么您可能正在运行 64 位 Linux 操作系统并且只安装了 64 位 libncurses,当正在运行的程序 (adb) 是 32 位的。

如果是这样,则 32 位程序无法链接到 64 位库(无论如何也不会找到它),因此您可能必须安装 libcurses 或 ncurses(32 位版本)。同样,如果您正在运行 64 位 adb,那么您的 ncurses 可能是 32 位(可能但不太可能的情况)。

于 2013-06-09T01:57:01.297 回答
10

在 Arch Linux 上,您可以安装ncurses5-compat-libsAUR 包。

仅供参考,它在 Arch Wiki android 页面中提到,以防万一您需要 Android Studio 的其他依赖项:https ://wiki.archlinux.org/index.php/Android

于 2019-05-21T00:10:17.350 回答
5

对于 Redhat Linux 8,试试这个:

sudo yum install libncurses*
于 2019-05-16T22:08:37.647 回答
3

在 Fedora 28 中使用:

sudo dnf install ncurses-compat-libs
于 2018-05-08T09:29:42.067 回答
2

ncurses-compat-libs在 Fedora 24 上安装帮助我解决了这个问题( unable to start adb error while loading shared libraries: libncurses.so.5

于 2017-01-25T16:21:31.587 回答
2

在 Arch 上,我这样修复:

sudo ln -s /usr/lib/libncursesw.so.6 /usr/lib/libtinfo.so.6
于 2017-11-21T13:31:15.797 回答
2

我解决了这个问题

ln -s libncursesw.so.5  /lib/x86_64-linux-gnu/libncursesw.so.6

在 ubunutu 18.10

于 2018-10-29T09:02:56.213 回答
1

您的系统可能不提供 android studio 使用的版本的 ncurses 库。我的 Arch linux 安装只有 ncurses 6,但 android studio 需要版本 5。您可以检查您的发行版是否具有兼容性包,或使用 Rahmat Aligos 建议的解决方案。

于 2017-04-17T17:03:23.993 回答
1

对于 Redhat Linux 这有帮助,

sudo yum install ncurses-compat-libs

于 2021-05-16T20:45:26.017 回答
0

Mixaz 的上述答案对我有用。但是,由于 PGP 检查失败,我在安装软件包时遇到了问题。通过跳过签名安装它,你可以试试这个:

yaourt --m-arg "--skipchecksums --skippgpcheck" -Sb <your-package>
于 2019-11-16T22:31:34.507 回答