Eclipse和Android SDK的问题

我安装了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管理器时,出现了这个问题。
[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 [或者在Synaptic中搜索libstdc++]。并且 sudo apt-get install zlib1g-dev - shantanu
3@shantanu 问题不在于缺少头文件(-dev软件包),而是Android SDK需要32位版本的库。头文件只在构建依赖库的软件时才需要,而不是在运行预编译软件时需要。 - Eliah Kagan
8个回答

如果您正在使用Debian Jessie(或Ubuntu 13.10+),请尝试执行以下命令:
sudo apt-get install lib32stdc++6

它在Ubuntu 13.10 64位系统上运行良好。 - Tamil Selvan C
刚刚在Linux Mint 16 RC上为我解决了同样的问题。 - Trevor
3在全新的Ubuntu 14.04上对我起作用了。非常感谢! - talha06

这个问题的发生是因为Android SDK是为32位GNU/Linux系统编译的,而你的Ubuntu系统是64位的GNU/Linux系统。解决方案应该很简单(因为Ubuntu完全支持在64位操作系统上运行32位程序)-只需安装它所需的库的32位版本。
最简单、最容易的方法是通过安装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可能无法正常工作的人来说:它仍然可以正常工作。) 来源:Android/Eclipse Installation on Ubuntu 11.04 - aapt and adb not working properly
另请参阅:Eclipse Android Plugin — libncurses.so.5

11这似乎不再是Ubuntu 13.10的解决方案。 - Sahas Katta
10@SahasKatta 这个方法有效 http://askubuntu.com/a/165536/1599 - phunehehe
在查看控制台截图之前,请阅读@SahasKatta的评论。 - danihp
3Ubuntu 13.10+中,ia32-libs已被lib32z1、lib32ncurses5和lib32bz2-1.0所取代(当您尝试安装ia32-libs时会显示此消息)。但是,lib32stdc++6并未包含在此列表中,但也是必需的。 - RBI
3这个答案帮助我找到了适合我的解决方法:"sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0" - cjstehno

这个帖子对我来说是解决办法。

具体来说,安装这个软件包:

sudo apt-get install lib32z1 lib32z1-dev

1除了这个答案之外,其他的答案都对我没用。谢谢 :) - codeMan
我对这个答案得到了很多声誉...谢谢...不知怎么回事,用户“Squeezle”更改了我的答案,所以以上并不是我原来的帖子。对允许其他人更改我的回答的网站给予-1分,但对Squeezle因发布了一个看起来很受欢迎的回答给予+1分。 - ether_joe
只有这个在Ubuntu 14.04 64位系统上对我有效。谢谢! - TJ Biddle
在Debian 8.1.0上完美运行。我已经安装了lib32stdc++6,所以我知道这不是问题所在。再次感谢! - woahguy

我刚在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)。其他的不行。 - Juanin

这对我来说很有效:aptitude install lib32stdc++6

这也为我消除了很多与R相关的错误。 - Anon

sudo apt-get install lib32z1

这对我有用。
synaptic --> 搜索 lib32z1 --> 选择运行时和开发环境 应用并完成。

对于Ubuntu 15.04,需要进行以下操作:
sudo apt-get install lib32stdc++6 lib32z1