Android SDk中的aapt在构建工具版本17.0.0下出现错误:加载共享库libz.so.1时出错,无法打开共享对象文件:没有那个文件或目录。

52
我刚刚在64位的Fedora 14上安装了Eclipse、Android SDK和JDK,但是当我创建一个新项目时,控制台会报以下错误:
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
我使用的是64位机器,需要安装一些32位驱动程序,所以我正在尝试安装:
sudo apt-get install ia32-libs
读取包列表... 完成 构建依赖关系树... 完成 E: 找不到软件包ia32-libs
有人能帮我解决64位Fedora 14机器的libz.so.1问题吗?
12个回答

113

我正在运行Kubuntu 13.10 (x64),我使用了lib32z1,它为我解决了问题。

sudo apt-get install lib32z1


1
我也成功了。我使用的是Ubuntu 13.10 (x64)。谢谢。 - kR105
加油!你是32位技术领域的英雄和学者。 - Darth Egregious
1
同样适用于XUbuntu 14.10! - Chand Priyankara
3
在我的Ubuntu 14.04 (x64)上它没有起作用。我成功解决了这个问题,安装了另一个软件包:sudo apt-get install libstdc++6:i386 - rchavarria
2
@rchavarria 我两个都需要!我认为如果你像我一样先安装了 libstdc++6:i386 再安装 lib32z1,那么它就会对你起作用!干杯 - Mike
显示剩余4条评论

27
Lukacsa,很好用!建议简单而棒。 试试这个:
sudo yum install zlib.i686 libstdc++.i686

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

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


我还需要执行以下操作:yum install libstdc++.i686 - david.perez
适用于 Fedora 24 并使用 dnf - DenisKolodin

13

尝试这个方法,对我解决了问题,我的操作系统是64位的ubuntu 14.05。

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

7

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

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

这将解决问题。

希望这有所帮助。


2
“sudo apt-get install ia32-libs”不再起作用了。有任何新的修复方法吗? - Niklas

2

1

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

对于 RHEL,这个命令可以使用。我的机器是 64 位的。


1
我在Archlinux上遇到了相同的问题。
您需要在/etc/pacman.conf中启用multilib存储库:
[multilib]
Include = /etc/pacman.d/mirrorlist

更新 pacman 并安装 32 位版本的 zlib:
pacman -Suy
pacman -S lib32-zlib

0
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1

4
欢迎来到 Stack Overflow。回答一个六年前的问题,有十一个其他答案,很重要的一点是解释你的回答涉及到的问题的新方面,以及它与现有答案的区别在哪里,以及你为什么包含 apt-get 命令的每个部分。 - Jason Aller
虽然这可能回答了问题,但它被标记为需要审核。没有解释的答案通常被认为是低质量的。请在答案中提供一些评论,说明为什么这是正确的答案。 - Dan

0

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

zypper install libz1-32bit

0

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接