Problemas com o Eclipse e o Android SDK

54

Instalei o Eclipse, openjdk6, baixei e extraí o arquivo do gerenciador sdk.

Agora, quando criei um projeto Android, recebi o seguinte erro:

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

E este quando tentei criar um 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.
csbl
fonte
sudo apt-get install libstdc ++ 6-4.6-dev [ou pesquise no synaptic com libstdc ++]. e sudo apt-get install zlib1g-dev
shantanu
3
@shantanu O problema não é a falta dos arquivos de cabeçalho ( -devpacotes), mas o SDK do Android precisa das versões de 32 bits das bibliotecas. Os arquivos de cabeçalho são necessários apenas para a criação de software que depende de uma biblioteca, não para a execução de software pré-criado.
Eliah Kagan 6/06/12

Respostas:

47

Esse problema está ocorrendo porque o SDK do Android é compilado para um sistema GNU / Linux de 32 bits e o sistema Ubuntu é um sistema GNU / Linux de 64 bits. A solução deve ser fácil (já que o Ubuntu suporta totalmente a execução de programas de 32 bits em um sistema operacional de 64 bits) - basta instalar as versões de 32 bits das bibliotecas necessárias.

A maneira mais simples e fácil de fazer isso é instalar as versões de 32 bits de todas as bibliotecas mais usadas, instalando o pacote ia32-libsInstale ia32-libs . Você pode fazer isso no Centro de Software ou no Terminal com:

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

Originalmente, ia32-libsfoi fornecido porque o Ubuntu, em sua configuração padrão, não suportava a instalação de pacotes Ubuntu de 32 bits em um sistema de 64 bits. Agora que isso é totalmente suportado por padrão, o ia32-libspacote apenas faz com que os mesmos pacotes de 32 bits sejam instalados no sistema de 64 bits que seriam instalados em um sistema mínimo de 32 bits. (Portanto, para quem está preocupado, isso pode não funcionar agora, mas multarché suportado por padrão: ainda funciona.)

Fonte: Instalação Android / Eclipse no Ubuntu 11.04 - aapt e adb não estão funcionando corretamente
Veja também: Plug-in do Eclipse Android - libncurses.so.5

Eliah Kagan
fonte
11
Isso não parece mais ser uma solução para o Ubuntu 13.10.
precisa
10
@SahasKatta isso funciona askubuntu.com/a/165536/1599
phunehehe
Leia o comentário do @SahasKatta antes da captura do console.
danihp
3
No Ubuntu 13.10+, os ia32-libs foram substituídos por lib32z1, lib32ncurses5 e lib32bz2-1.0 (mensagem fornecida quando você tenta instalar o ia32-libs). O lib32stdc ++ 6 não está incluído nesta lista, mas também é necessário.
RBI
3
Esta resposta me levou ao que funcionou para mim: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno
55

Se você estiver usando o Debian Jessie (ou Ubuntu 13.10+), tente

sudo apt-get install lib32stdc++6

Martin Konecny
fonte
Funciona bem para o ubuntu 13.10 de 64 bits
Tamil Selvan C
Acabei de resolver o mesmo problema para mim no Linux Mint 16 RC.
Trevor
3
trabalhou para mim no novíssimo Ubuntu 14.04. Muito obrigado!
precisa saber é o seguinte
36

Esta discussão foi a correção para mim.

Especificamente, instalando este pacote:

sudo apt-get install lib32z1 lib32z1-dev
ether_joe
fonte
11
Nenhuma das respostas, exceto esta, funcionou para mim. Obrigado :)
codeMan
Estou recebendo muitos representantes por esta resposta ... obrigado ... de alguma forma, o usuário 'Squeezle' alterou minha resposta, de modo que o que está acima não é o meu post original. -1 no site por permitir que minha resposta seja alterada por quem quer que seja, mas +1 em squeezle por postar o que parece ser uma resposta popular.
25414 ether_joe
Apenas um que funcionou para mim no Ubuntu 14.04 64bit. Obrigado!
TJ Biddle
Funciona perfeitamente no Debian 8.1.0. Eu já tinha o lib32stdc ++ 6, então sabia que esse não era o problema. Obrigado novamente!
Woahguy 6/09/2015
16

Eu acabei de encontrar isso no Ubuntu 14.04 de 64 bits. Minha solução foi:

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

Com base nas bibliotecas compartilhadas necessárias para a ferramenta 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
fonte
3
Obrigado. Isso funcionou para mim (Ubuntu 14.04 x64). Os outros não.
Juanin
7

Isso funciona para mim: aptitude install lib32stdc++6

user130613
fonte
Isso também eliminou uma tonelada de erros relacionados ao R para mim.
Akiva
2
sudo apt-get install lib32z1

Isso funcionou para mim.

Vá para synaptic -> Search for lib32z1 -> selecione o tempo de execução e o desenvolvimento Apply and ur done.

Raj
fonte
2

Para o Ubuntu 15.04, era necessário o seguinte:

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