Probleme mit Eclipse und Android SDK


54

Ich installierte Eclipse, openjdk6 und lud die SDK-Manager-Datei herunter und extrahierte sie.

Beim Erstellen eines Android-Projekts wurde folgende Fehlermeldung angezeigt:

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

Und das hier, als ich versuchte, einen AVD-Manager zu erstellen:

[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 [oder suche auf synaptic mit libstdc ++]. und sudo apt-get installieren zlib1g-dev
shantanu

3
@shantanu Das Problem ist nicht, dass die Header-Dateien ( -devPakete) fehlen, sondern dass das Android SDK die 32-Bit-Versionen der Bibliotheken benötigt. Header-Dateien werden nur zum Erstellen von Software benötigt , die auf einer Bibliothek basiert, nicht zum Ausführen vorgefertigter Software.
Eliah Kagan

Antworten:


47

Dieses Problem tritt auf, weil das Android SDK für ein 32-Bit-GNU / Linux-System kompiliert ist und Ihr Ubuntu-System ein 64-Bit-GNU / Linux-System ist. Die Lösung sollte einfach sein (da Ubuntu das Ausführen von 32-Bit-Programmen unter einem 64-Bit-Betriebssystem vollständig unterstützt). Installieren Sie einfach die 32-Bit-Versionen der benötigten Bibliotheken.

Der einfachste und einfachste Weg, dies zu tun, besteht darin, die 32-Bit-Versionen aller am häufigsten verwendeten Bibliotheken zu installieren, indem Sie das Paket ia32-libsInstallieren Sie ia32-libs installieren . Dies können Sie im Software Center oder im Terminal mit:

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

Ursprünglich ia32-libswurde bereitgestellt, weil Ubuntu in seiner Standardkonfiguration die Installation von 32-Bit-Ubuntu-Paketen auf einem 64-Bit-System nicht unterstützte. Da dies nun standardmäßig vollständig unterstützt wird, ia32-libswerden auf Ihrem 64-Bit-System nur die 32-Bit-Pakete installiert, die auch auf einem 32-Bit-Minimalsystem installiert wären. (Für alle, die sich Sorgen machen, funktioniert dies möglicherweise nicht, da multarchdies standardmäßig unterstützt wird.)

Quelle: Android / Eclipse Installation unter Ubuntu 11.04 - aapt und adb funktionieren nicht richtig
Siehe auch: Eclipse Android Plugin - libncurses.so.5


11
Dies scheint keine Lösung für Ubuntu 13.10 mehr zu sein.
Sahas Katta

10
@ SahasKatta das funktioniert askubuntu.com/a/165536/1599
phunehehe

Lesen Sie den @ SahasKatta-Kommentar vor der Konsolenaufnahme.
Danihp

3
In Ubuntu 13.10+ wurden die ia32-libs durch lib32z1, lib32ncurses5 und lib32bz2-1.0 ersetzt (Meldung, wenn Sie versuchen, ia32-libs zu installieren). lib32stdc ++ 6 ist nicht in dieser Liste enthalten, wird aber auch benötigt.
RBI

3
Diese Antwort führte mich zu dem, was bei mir funktioniert hat: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno

55

Wenn Sie Debian Jessie (oder Ubuntu 13.10+) verwenden, versuchen Sie es

sudo apt-get install lib32stdc++6


Es funktioniert gut für Ubuntu 13.10 64 Bit
Tamil Selvan C

Habe gerade das gleiche Problem für mich unter Linux Mint 16 RC gelöst.
Trevor

3
arbeitete für mich am brandneuen Ubuntu 14.04. Danke vielmals!
talha06

36

Dieser Thread war die Lösung für mich.

Insbesondere Installation dieses Pakets:

sudo apt-get install lib32z1 lib32z1-dev

1
Keine der Antworten außer dieser funktionierte für mich. Vielen Dank :)
CodeMan

Ich bekomme viele Wiederholungen für diese Antwort ... danke ... irgendwie hat der Benutzer 'Squeezle' meine Antwort geändert, so dass das, was oben steht, nicht mein ursprünglicher Beitrag ist. -1 auf der Site, damit meine Antwort von wem auch immer geändert werden kann, +1 auf Squeezle, um eine Antwort zu veröffentlichen, die wie eine beliebte Antwort aussieht.
ether_joe

Nur eine, die für mich auf Ubuntu 14.04 64bit funktioniert hat. Danke!
TJ Biddle

Funktioniert perfekt unter Debian 8.1.0. Ich hatte bereits lib32stdc ++ 6 und wusste, dass dies nicht das Problem war. Danke noch einmal!
Woahguy

16

Ich bin gerade auf Ubuntu 14.04 64-Bit darauf gestoßen. Meine Lösung war:

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

Basierend auf den für das aapt-Tool erforderlichen gemeinsam genutzten Bibliotheken:

$ 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
Vielen Dank. Das hat bei mir funktioniert (Ubuntu 14.04 x64). Die anderen nicht.
Juanin

7

Das funktioniert bei mir: aptitude install lib32stdc++6


Dies beseitigte auch eine Tonne von R-bezogenen Fehlern für mich.
Akiva

2
sudo apt-get install lib32z1

Das hat bei mir funktioniert.

Gehen Sie zu synaptic -> Suche nach lib32z1 -> wählen Sie sowohl Laufzeit als auch Entwicklung aus. Übernehmen und fertig.



2

Für Ubuntu 15.04 war folgendes notwendig:

sudo apt-get install lib32stdc++6 lib32z1
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.