Problemi con Eclipse e Android SDK


54

Ho installato Eclipse, openjdk6 e scaricato ed estratto il file sdk manager.

Ora, quando ho creato un progetto Android ho avuto il seguente errore:

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 questo quando ho provato a creare un 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 [o cerca in sinaptica con libstdc ++]. e sudo apt-get install zlib1g-dev
shantanu il

3
@shantanu Il problema non è che -devmancano i file di intestazione ( pacchetti), ma che l'SDK di Android necessita delle versioni a 32 bit delle librerie. I file di intestazione sono necessari solo per la creazione di software che si basa su una libreria, non per l'esecuzione di software precostruito.
Eliah Kagan,

Risposte:


47

Questo problema si verifica perché l'SDK di Android è compilato per un sistema GNU / Linux a 32 bit e il tuo sistema Ubuntu è un sistema GNU / Linux a 64 bit. La soluzione dovrebbe essere semplice (poiché Ubuntu supporta completamente l'esecuzione di programmi a 32 bit su un sistema operativo a 64 bit): basta installare le versioni a 32 bit delle librerie di cui ha bisogno.

Il modo più semplice e facile per farlo è installare le versioni a 32 bit di tutte le librerie più comunemente usate, installando il pacchetto ia32-libsInstalla ia32-libs . Puoi farlo nel Software Center o nel Terminale con:

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

Inizialmente è ia32-libsstato fornito perché Ubuntu, nella sua configurazione predefinita, non supportava l'installazione di pacchetti Ubuntu a 32 bit su un sistema a 64 bit. Ora che questo è completamente supportato per impostazione predefinita, il ia32-libspacchetto causa solo l'installazione degli stessi pacchetti a 32 bit sul sistema a 64 bit che verrebbero installati su un sistema a 32 bit minimo. (Quindi per chiunque sia preoccupato questo potrebbe non funzionare ora che multarchè supportato di default: funziona ancora.)

Fonte: installazione Android / Eclipse su Ubuntu 11.04 - aapt e adb non funzionano correttamente
Vedi anche: Plugin Android Eclipse - libncurses.so.5


11
Questa non sembra più essere una soluzione per Ubuntu 13.10.
Sahas Katta,

10
@SahasKatta funziona askubuntu.com/a/165536/1599
phunehehe,

Leggi il commento di @SahasKatta prima della ripresa della console.
danihp,

3
Ubuntu 13.10+ le ia32-libs sono state sostituite da lib32z1, lib32ncurses5 e lib32bz2-1.0 (messaggio fornito quando si tenta di installare ia32-libs). lib32stdc ++ 6 non è incluso in questo elenco ma è anche richiesto.
RBI,

3
Questa risposta mi ha portato a quello che ha funzionato per me: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

Se stai usando Debian Jessie (o Ubuntu 13.10+), prova

sudo apt-get install lib32stdc++6


Funziona bene con Ubuntu 13.10 a 64 bit
Tamil Selvan C

Ho appena risolto lo stesso problema per me su Linux Mint 16 RC.
Trevor,

3
ha funzionato per me sul nuovissimo Ubuntu 14.04. molte grazie!
talha06,

36

Questa discussione è stata la soluzione per me.

In particolare, l'installazione di questo pacchetto:

sudo apt-get install lib32z1 lib32z1-dev

1
Nessuna delle risposte, tranne questa, ha funzionato per me. Grazie :)
codeMan

Ricevo un sacco di rep per questa risposta ... grazie ... in qualche modo l'utente "Squeezle" ha cambiato la mia risposta, quindi ciò che è sopra non è il mio post originale. -1 al sito per consentire a chiunque di cambiare la mia risposta, ma +1 per spremere per pubblicare quella che sembra una risposta popolare.
ether_joe,

Solo uno che ha funzionato per me su Ubuntu 14.04 64 bit. Grazie!
TJ Biddle,

Funziona perfettamente su Debian 8.1.0. Avevo già lib32stdc ++ 6, quindi sapevo che non era questo il problema. Grazie ancora!
Woahguy,

16

Mi sono appena imbattuto in questo su Ubuntu 14.04 a 64 bit. La mia soluzione era:

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

Sulla base delle librerie condivise richieste per lo strumento 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
Grazie. Questo ha funzionato per me (Ubuntu 14.04 x64). Gli altri no.
Juanin,

7

Questo funziona per me: aptitude install lib32stdc++6


Ciò ha anche eliminato un sacco di errori correlati a R per me.
Akiva,

2
sudo apt-get install lib32z1

Questo ha funzionato per me.

Vai a sinaptico -> Cerca lib32z1 -> seleziona sia runtime che sviluppo Applica e fai.



2

Per Ubuntu 15.04, era necessario quanto segue:

sudo apt-get install lib32stdc++6 lib32z1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.