Eclipse和Android SDK问题


54

我安装了Eclipse,openjdk6,并下载并提取了sdk管理器文件。

现在,当我创建一个Android项目时,出现以下错误:

2012-06-06 18:44:40 - contactManager] /home/catia/android-sdks/platform-tools/aapt: 
error while loading shared libraries: libz.so.1: cannot open shared object file: 
No such file or directory

当我尝试创建AVD Manager时,这是一个:

[2012-06-06 19:00:18 - SDK Manager] /home/catia/android-sdks/tools/mksdcard: error 
while loading shared libraries: libstdc++.so.6: cannot open shared object file: No 
such file or directory 
[2012-06-06 19:00:18 - SDK Manager] Failed to create the SD card.
[2012-06-06 19:00:18 - SDK Manager] Failed to create sdcard in the AVD folder.

sudo apt-get install libstdc ++ 6-4.6-dev [或使用libstdc ++在突触上搜索]。和sudo apt-get install zlib1g-dev
shantanu 2012年

3
@shantanu问题在于-dev缺少头文件(包),而是Android SDK需要库的32位版本。头文件仅用于构建依赖于库的软件,而用于运行预构建的软件则不需要。
伊利亚·卡根

Answers:


47

发生此问题的原因是,Android SDK是为32位GNU / Linux系统编译的,而您的Ubuntu系统是64位GNU / Linux系统。解决方案应该很简单(因为Ubuntu完全支持在64位OS上运行32位程序)-只需安装所需的32位版本的库即可。

最简单,最简单的方法是通过安装ia32-libs安装ia32-libs软件包来安装所有最常用的库的32位版本。您可以在软件中心或终端中执行以下操作:

sudo apt-get update
sudo apt-get install ia32-libs

最初ia32-libs提供该文件是因为Ubuntu在其默认配置下不支持在64位系统上安装32位Ubuntu软件包。现在,默认情况下完全支持此功能,该ia32-libs程序包仅导致将64位系统上安装的32位程序包安装在最小32位系统上。(因此,对于任何担心此问题的人现在可能无法正常工作multarch,默认情况下受支持:它仍然有效。)

来源: 在Ubuntu 11.04上安装Android / Eclipse-aapt和adb无法正常工作
另请参见: Eclipse Android插件— libncurses.so.5


11
这似乎不再是Ubuntu 13.10的解决方案。
2013年

10
@SahasKatta这个作品askubuntu.com/a/165536/1599
phunehehe

在控制台射击之前,请先阅读@SahasKatta评论。
danihp 2014年

3
Ubuntu 13.10+ ia32-libs已由lib32z1,lib32ncurses5和lib32bz2-1.0取代(尝试安装ia32-libs时提供的消息)。lib32stdc ++ 6不在此列表中,但也是必需的。
印度储备

3
这个答案将我引向对我有用的东西:“ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0”
cjstehno 2014年

55

如果您使用的是Debian Jessie(或Ubuntu 13.10+),请尝试

sudo apt-get install lib32stdc++6


这64位的Ubuntu 13.10很好地工作
泰米尔Selvanç

刚刚在Linux Mint 16 RC上为我解决了同样的问题。
Trevor

3
为我开发了全新的Ubuntu 14.04。非常感谢!
talha06年

36

这个线程对我来说是修复的。

具体来说,安装此软件包:

sudo apt-get install lib32z1 lib32z1-dev

1
除了这个答案外,没有其他答案对我有用。谢谢:)
codeMan 2014年

我得到了很多这个答复的代表……谢谢……以某种方式,用户“ Squeezle”改变了我的答案,所以上面的内容不是我的原始帖子。-1表示允许任何人更改我的回复,但+1表示张贴受欢迎的答案。
ether_joe 2014年

只有一个在Ubuntu 14.04 64bit上对我有用。谢谢!
TJ Biddle

在Debian 8.1.0上完美工作。我已经有了lib32stdc ++ 6,所以我知道这不是问题。再次感谢!
woahguy 2015年

16

我只是在Ubuntu 14.04 64位上遇到了这个问题。我的解决方案是:

sudo apt-get install -y libc6:i386 libgcc1:i386 libstdc++6:i386 libz1:i386

基于aapt工具所需的共享库:

$ readelf -d android-sdk-linux/build-tools/20.0.0/aapt | grep -i shared
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libz.so.1]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]

3
谢谢。这对我有用(Ubuntu 14.04 x64)。其他人没有。
胡安


2
sudo apt-get install lib32z1

这对我有用。

转到突触 ->搜索lib32z1- >选择运行时和开发应用并完成。



2

对于Ubuntu 15.04,必须满足以下条件:

sudo apt-get install lib32stdc++6 lib32z1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.