Problemas con Eclipse y Android SDK

54

Instalé Eclipse, openjdk6 y descargué y extraje el archivo del administrador de SDK.

Ahora, cuando creé un proyecto de Android recibí el siguiente error:

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

Y este cuando intenté crear un Administrador 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.
csbl
fuente
sudo apt-get install libstdc ++ 6-4.6-dev [o busque en synaptic con libstdc ++]. y sudo apt-get install zlib1g-dev
shantanu
3
@shantanu El problema no es que falten los archivos de encabezado ( -devpaquetes), sino que el SDK de Android necesita las versiones de 32 bits de las bibliotecas. Los archivos de encabezado solo son necesarios para crear software que se base en una biblioteca, no para ejecutar software preconstruido.
Eliah Kagan

Respuestas:

47

Este problema se produce porque el SDK de Android está compilado para un sistema GNU / Linux de 32 bits, y su sistema Ubuntu es un sistema GNU / Linux de 64 bits. La solución debería ser fácil (ya que Ubuntu es totalmente compatible con la ejecución de programas de 32 bits en un sistema operativo de 64 bits): simplemente instale las versiones de 32 bits de las bibliotecas que necesita.

La forma más sencilla y fácil de hacer esto es instalar las versiones de 32 bits de todas las bibliotecas más utilizadas, instalando el paquete ia32-libsInstalar ia32-libs . Puede hacerlo en el Centro de software o en la Terminal con:

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

Originalmente ia32-libsse proporcionó porque Ubuntu, en su configuración predeterminada, no admitía la instalación de paquetes de Ubuntu de 32 bits en un sistema de 64 bits. Ahora que esto es totalmente compatible de manera predeterminada, el ia32-libspaquete solo hace que se instalen los mismos paquetes de 32 bits en su sistema de 64 bits que se instalarían en un sistema mínimo de 32 bits. (Entonces, para cualquiera que esté preocupado, esto podría no funcionar ahora que multarches compatible de manera predeterminada: todavía funciona).

Fuente: Instalación de Android / Eclipse en Ubuntu 11.04 - aapt y adb no funcionan correctamente
Vea también: Eclipse Android Plugin - libncurses.so.5

Eliah Kagan
fuente
11
Esto ya no parece ser una solución para Ubuntu 13.10.
Sahas Katta
10
@SahasKatta esto funciona askubuntu.com/a/165536/1599
phunehehe
Lea el comentario de @SahasKatta antes del disparo de la consola.
danihp
3
Ubuntu 13.10+ las ia32-libs han sido reemplazadas por lib32z1, lib32ncurses5 y lib32bz2-1.0 (se proporciona un mensaje cuando intenta instalar ia32-libs). lib32stdc ++ 6 no está incluido en esta lista pero también es obligatorio.
RBI
3
Esta respuesta me llevó a lo que funcionó para mí: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno
55

Si está utilizando Debian Jessie (o Ubuntu 13.10+), intente

sudo apt-get install lib32stdc++6

Martin Konecny
fuente
Funciona bien para Ubuntu 13.10 64 bit
Tamil Selvan C
Acabo de resolver el mismo problema para mí en Linux Mint 16 RC.
Trevor
3
funcionó para mí en el nuevo Ubuntu 14.04. ¡muchas gracias!
talha06
36

Este hilo fue la solución para mí.

Específicamente, instalando este paquete:

sudo apt-get install lib32z1 lib32z1-dev
ether_joe
fuente
1
Ninguna de las respuestas, excepto esta, funcionó para mí. Gracias :)
codeMan
Estoy obteniendo muchos representantes para esta respuesta ... gracias ... de alguna manera el usuario 'Squeezle' cambió mi respuesta, así que lo que está arriba no es mi publicación original. -1 al sitio por permitir que mi respuesta sea cambiada por quien sea, pero +1 a apretar por publicar lo que parece una respuesta popular.
ether_joe
Solo uno que funcionó para mí en Ubuntu 14.04 64bit. ¡Gracias!
TJ Biddle
Funciona perfectamente en Debian 8.1.0. Ya tenía lib32stdc ++ 6, así que sabía que este no era el problema. ¡Gracias de nuevo!
woahguy
16

Me encontré con esto en Ubuntu 14.04 de 64 bits. Mi solución fue:

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

Según las bibliotecas compartidas requeridas para la herramienta 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]
bmaupin
fuente
3
Gracias. Esto funcionó para mí (Ubuntu 14.04 x64). Los otros no.
Juanin
7

Esto funciona para mi: aptitude install lib32stdc++6

usuario130613
fuente
Esto también eliminó una tonelada de errores relacionados con R para mí.
Akiva
2
sudo apt-get install lib32z1

Esto funcionó para mí.

Vaya a synaptic -> Buscar lib32z1 -> seleccione el tiempo de ejecución y el desarrollo. Solicite y listo.

Raj
fuente
2

Para Ubuntu 15.04, fue necesario lo siguiente:

sudo apt-get install lib32stdc++6 lib32z1
Seis
fuente