android-sdks/build-tools/17.0.0/aapt:加载共享库时出错:libz.so.1:无法打开共享对象文件:没有这样的文件或目录

Posted

技术标签:

【中文标题】android-sdks/build-tools/17.0.0/aapt:加载共享库时出错:libz.so.1:无法打开共享对象文件:没有这样的文件或目录【英文标题】:android-sdks/build-tools/17.0.0/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory 【发布时间】:2013-06-05 21:32:08 【问题描述】:

我刚刚在全新安装的 64 位 fedora 14 上安装了 eclipse、android sdk 和 jdk,但是当我创建一个新项目时,我在控制台中收到以下错误:

android-sdks/build-tools/17.0.0/aapt:加载共享时出错 库:libz.so.1:无法打开共享对象文件:没有这样的文件或 目录

我使用的是 64 位机器,我需要安装一些 32 位驱动程序, 所以我正在尝试安装:

sudo apt-get install ia32-libs Reading Package Lists... 完成构建 依赖关系树...完成 E:找不到包 ia32-libs

谁能帮我解决64位fedora 14机器libz.so.1问题

【问题讨论】:

【参考方案1】:

运行 Kubuntu 13.10 (x64),我使用了 lib32z1,它为我修复了它。

sudo apt-get install lib32z1

【讨论】:

它也对我有用。我在 Ubuntu 13.10 (x64) 上。谢谢。 摇滚吧。您是 32 位艺术的英雄和学者。 也适用于 XUbuntu 14.10! 它在 Ubuntu 14.04 (x64) 上对我不起作用。我设法修复它安装另一个包:sudo apt-get install libstdc++6:i386 @rchavarria 我两个都需要!我想如果你像我一样在lib32z1 之前安装libstdc++6:i386,那么它对你有用!干杯【参考方案2】:

Lukacsa,它有效!简单而伟大的建议

试试这个:

sudo yum install zlib.i686 libstdc++.i686

这将解决64位机器的32位兼容性问题~!

(测试:CentOS 6.2 64 位和 Fedora 22 64 位)

【讨论】:

我还需要这样做:yum install libstdc++.i686 适用于 Fedora 24 与 dnf【参考方案3】:

试试这个为我解决的问题,有 64 位 ubuntu 14.05

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

【讨论】:

【参考方案4】:

我使用这篇博文中分享的解决方案解决了这个问题:

http://ideid.blogspot.co.uk/2013/01/resolve-shared-library-problem-with.html

为方便起见,这里是解决方案:

“Android SDK 是为 32 位 GNU/Linux 系统编译的,而您的系统是 64 位系统。要解决此错误,请安装所有最常用库的 32 位版本,通过安装ia32-libs 包

转到终端并键入以下命令。

sudo apt-get install ia32-libs

这将解决问题。”

希望对你有帮助

【讨论】:

sudo apt-get install ia32-libs 不再起作用。有什么新修复吗?【参考方案5】:

我在我的 centos 机器上遇到了类似的问题。

看看这个: https://ask.fedoraproject.org/en/question/9556/how-do-i-install-32bit-libraries-on-a-64-bit-fedora/

对我来说,它的工作原理是: yum install libstdc++.i386 zlib.i386

【讨论】:

【参考方案6】:

yum install glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

对于 RHEL,这很有效。我的机器是64位机器,

【讨论】:

【参考方案7】:

我在 Archlinux 上遇到了同样的问题。

你需要在/etc/pacman.conf启用multilib仓库:

[multilib]
Include = /etc/pacman.d/mirrorlist

更新 pacman 并安装 32 位版本的 zlib:

pacman -Suy
pacman -S lib32-zlib

【讨论】:

【参考方案8】:

对于 OpenSuse,您只需安装 libz1-32bit

zypper install libz1-32bit

【讨论】:

【参考方案9】:

在包名中添加 :i386 后缀,以便包管理器正确识别:

sudo apt-get install zlib1g:i386

【讨论】:

【参考方案10】:

aapt 是一个 32 位应用程序,因此您的 64 位机器需要加载这些库

sudo dpkg --add-architecture i386
sudo apt-get -qqy update
sudo apt-get -qqy install libncurses5:i386 libstdc++6:i386 zlib1g:i386

【讨论】:

【参考方案11】:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1

【讨论】:

欢迎来到 Stack Overflow。当用其他 11 个答案回答一个 6 年前的问题时,重要的是要解释你的答案涉及的问题的新方面,它与现有答案的不同之处,以及为什么你包含 apt-get 命令的每个部分. 虽然这可能会回答问题,但它已被标记为待审核。没有解释的答案通常被认为是低质量的。请在答案中提供一些评论,说明为什么这是正确答案。【参考方案12】:

试试这个:sudo yum install zlib.i686

【讨论】:

以上是关于android-sdks/build-tools/17.0.0/aapt:加载共享库时出错:libz.so.1:无法打开共享对象文件:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章