问题描述
我安装了Eclipse,openjdk6并下载并解压缩了sdk manager文件。
现在,当我创建一个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.
最佳解决方法
出现此问题是因为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
次佳解决方法
如果您使用的是Debian Jessie(或Ubuntu 13.10+),请尝试
sudo apt-get install lib32stdc++6
第三种解决方法
This thread对我有用。
具体来说,安装此包:
sudo apt-get install lib32z1 lib32z1-dev
第四种方法
我刚刚在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]
第五种方法
这对我有用:aptitude install lib32stdc++6
第六种方法
sudo apt-get install lib32z1
这对我有用。
去突触 – >搜索lib32z1 – >选择运行时和开发应用和完成。
第七种方法
对于Ubuntu> = 13.04而不是ia32-libs
,您需要libgl1-mesa-dev:i386
sudo apt-get install libgl1-mesa-dev:i386
检查Complete Installation Guide for Android SDK / ADT Bundle on Ubuntu
第八种方法
对于Ubuntu 15.04,以下是必要的:
sudo apt-get install lib32stdc++6 lib32z1