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.

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


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


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

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]

3
Merci. Cela a fonctionné pour moi (Ubuntu 14.04 x64). Les autres ne le font pas.
Juanin


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.



2

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

sudo apt-get install lib32stdc++6 lib32z1
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.