Problèmes avec Eclipse et Android SDK

54

J'ai installé Eclipse, openjdk6 et téléchargé et extrait le fichier du gestionnaire de sdk.

Maintenant, quand j'ai créé un projet Android, j'ai eu l'erreur suivante:

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

Et celui-ci lorsque j'ai essayé de créer un gestionnaire 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
la source
sudo apt-get installez libstdc ++ 6-4.6-dev [ou recherchez synaptic avec libstdc ++]. et sudo apt-get install zlib1g-dev
shantanu Le
3
@shantanu Le problème n'est pas que les fichiers d'en-tête ( -devpackages) manquent, mais que le SDK Android a besoin des versions 32 bits des bibliothèques. Les fichiers d'en-tête ne sont nécessaires que pour créer un logiciel qui s'appuie sur une bibliothèque et non pour exécuter un logiciel pré-construit.
Eliah Kagan

Réponses:

47

Ce problème se produit car le SDK Android est compilé pour un système GNU / Linux 32 bits et que votre système Ubuntu est un système GNU / Linux 64 bits. La solution doit être simple (Ubuntu prenant entièrement en charge l'exécution de programmes 32 bits sur un système d'exploitation 64 bits) - il suffit d'installer les versions 32 bits des bibliothèques dont il a besoin.

Le moyen le plus simple et le plus simple de procéder consiste à installer les versions 32 bits de toutes les bibliothèques les plus utilisées, en installant le package ia32-libsInstallez ia32-libs . Vous pouvez le faire dans le centre logiciel ou dans le terminal avec:

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

Initialement a ia32-libsété fourni car Ubuntu, dans sa configuration par défaut, ne supportait pas l'installation de paquets Ubuntu 32 bits sur un système 64 bits. Maintenant que cela est entièrement pris en charge par défaut, le ia32-libspackage entraîne simplement l'installation des mêmes packages 32 bits sur votre système 64 bits que sur un système minimal de 32 bits. (Donc, pour ceux qui craignent que cela ne fonctionne pas maintenant, cela multarchest supporté par défaut: cela fonctionne toujours.)

Source: Installation Android / Eclipse sur Ubuntu 11.04 - aapt et adb ne fonctionnent pas correctement
Voir aussi: Plugin Eclipse Android - libncurses.so.5

Eliah Kagan
la source
11
Cela ne semble plus être une solution pour Ubuntu 13.10.
Sahas Katta
10
@SahasKatta cela fonctionne askubuntu.com/a/165536/1599
phunehehe
Lisez le commentaire de @SahasKatta avant la prise de vue sur la console.
danihp
3
Ubuntu 13.10+, les librairies ia32 ont été remplacées par lib32z1, lib32ncurses5 et lib32bz2-1.0 (le message est fourni lorsque vous essayez d'installer ia32-libs). lib32stdc ++ 6 n'est pas inclus dans cette liste mais est également requis.
RBI le
3
Cette réponse m'a conduit à ce qui a fonctionné pour moi: "sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0"
cjstehno
55

Si vous utilisez Debian Jessie (ou Ubuntu 13.10+), essayez

sudo apt-get install lib32stdc++6

Martin Konecny
la source
Cela fonctionne bien pour Ubuntu 13.10 64 bits
Tamil Selvan C
Je viens de résoudre le même problème pour moi sur Linux Mint 16 RC.
Trevor
3
a travaillé pour moi sur le tout nouveau Ubuntu 14.04. Merci beaucoup!
talha06
36

Ce fil était la solution pour moi.

Plus précisément, installer ce paquet:

sudo apt-get install lib32z1 lib32z1-dev
ether_joe
la source
1
Aucune des réponses, sauf celle-ci, n'a fonctionné pour moi. Merci :)
codeMan
Je reçois beaucoup de répétition pour cette réponse ... merci ... d'une certaine manière, l'utilisateur 'Squeezle' a changé ma réponse, donc ce qui est écrit en haut n'est pas mon message d'origine. -1 sur le site pour permettre à ma réponse d'être modifiée par n'importe qui, mais +1 à presser pour afficher ce qui semble être une réponse populaire.
ether_joe
Seul celui qui a fonctionné pour moi sur Ubuntu 14.04 64bit. Je vous remercie!
TJ Biddle
Fonctionne parfaitement sur Debian 8.1.0. J'avais déjà lib32stdc ++ 6 alors je savais que ce n'était pas le problème. Merci encore!
woahguy
16

Je viens de rencontrer ceci sur Ubuntu 14.04 64 bits. Ma solution était:

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

Basé sur les bibliothèques partagées requises pour l'outil 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
la source
3
Merci. Cela a fonctionné pour moi (Ubuntu 14.04 x64). Les autres ne le font pas.
Juanin
7

Cela fonctionne pour moi: aptitude install lib32stdc++6

utilisateur130613
la source
Cela a également éliminé une tonne d'erreurs liées à R.
Akiva
2
sudo apt-get install lib32z1

Cela a fonctionné pour moi.

Allez dans synaptic -> Recherchez lib32z1 -> sélectionnez à la fois le runtime et le développement, Apply et ur done.

Raj
la source
2

Pour Ubuntu 15.04, il était nécessaire de:

sudo apt-get install lib32stdc++6 lib32z1
Six
la source