ADB Android introuvable


103

Lorsque j'exécute mon application Android depuis eclipse, j'obtiens cette erreur.

Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2 No such file or directory' while attempting to get adb version from /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb

Erreur COPY PASTE FROM Eclipse

[2012-11-26 13:43:08 - adb] Unexpected exception 'Cannot run program "/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb": error=2, No such file or directory' while attempting to get adb version from '/home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb'

Cependant, mon adb est exactement à l'endroit où il dit que ce n'est pas le cas.

Quel est le problème et comment résoudre ce problème?

J'ai cd dans le répertoire où se trouve adb ( /home/antz/Development/adt-bundle-linux/sdk/platform-tools/) et j'ai tapé adb et il dit

antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ ls  
aapt  aidl  dexdump  fastboot  llvm-rs-cc  renderscript  
adb   api   dx       lib       NOTICE.txt  source.properties  
antz@antz-90X3A:~/Development/adt-bundle-linux/sdk/platform-tools$ adb  
bash: /home/antz/Development/adt-bundle-linux/sdk/platform-tools/adb: No such file or directory

adb est vert, ce qui signifie que c'est un exécutable, correct?

par exemple, dx est également vert et quand j'ai tapé dx dans l'invite de commande, cela fonctionne ... qu'est-ce qui ne va pas avec adb?


Etes-vous sûr que oui platform-tooldset non platform-tools?
Raghav Sood

/ home / antz / Development / adt-bundle-linux / sdk / platform-toolds / adb IL y a un "d" inutile là-dedans!
petey

Désolé c'est une faute de frappe par moi sur ce post
ealeon

avez-vous vérifié les autorisations du fichier / dossier? Vous travaillez sous Linux, assurez-vous que votre utilisateur peut réellement accéder à ce dossier et exécuter adb
WarrenFaith

Réponses:


143

Sous Linux, le platform-toolspackage SDK Android contenant adbétait 32bit. Cela fonctionnait bien sur les 32bitsystèmes. Mais sur les 64bitsystèmes, vous devez installer manuellement la bibliothèque IA32.

Pour les distributions basées sur Debian, essayez ceci:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Mais comme la v24.0 platform-toolsne contient que des 64bitbinaires, les 32bitbibliothèques ne sont plus nécessaires.


merci cela a fait fonctionner. pourquoi n'ont-ils pas inclus cette étape dans le didacticiel?
ealeon

4
Google a fourni les informations. Voir developer.android.com/sdk/installing/index.html Cliquez sur Informations pour les autres plates-formes, puis sur le dépannage d'ubuntu.
Robin Chander

5
@RobinChander, drôle que le bundle ADT 64 bits Linux soit livré avec un adb 32 bits sous adt-bundle-linux/sdk/platform-tools/adb... C'est aussi un problème sous d'autres distributions, par exemple Fedora 17.
maxschlepzig

5
Je ne peux pas installer les bibliothèques IA32! Pourquoi?
gtr123

1
J'ai eu la même erreur et j'ai ensuite installé apt-get ia32-libs, mais maintenant comment redémarrer la configuration des outils ADT dans eclipse? J'utilise Ubuntu 12.04
CodeKingPlusPlus

112

Vous ne pouvez plus installer ia32-libs, vous devez donc les bibliothèques 32 bits individuelles requises par adb

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Et pour Ubuntu 13.10:

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5 lib32z1

Cela fait-il référence à une version spécifique de Linux? Dans l'affirmative, pourriez-vous le mettre dans votre réponse.
CatShoes

Remarque: si l'installation échoue (mauvaises dépendances), essayez de l'installer, lancez aptitude. Il vous suggérerait de rétrograder certaines bibliothèques pour que l'installation réussisse.
Ben Usman

4
J'avais également besoin d'installer lib32z1 (Ubuntu 13.10)
AntonS

E: Le package 'lib32stdc ++ 6' n'a pas de candidat à l'installation E: Le package 'lib32gcc1' n'a pas de candidat à l'installation E: Impossible de localiser le package lib32ncurses5
numéro du plombier

Ouais merci beaucoup :) Fonctionne très bien sur ubuntu 13.10
Aukhan

30

Vous devez installer la glibc 32 bits:

dans la machine Fedore 64 bits

# yum install glibc.i686

Cela supprime le message trompeur «aucun fichier ou répertoire» lorsque vous essayez d'exécuter un binaire 32 bits. Avec cela, le système Fedora 64 bits est capable d'exécuter des binaires 64 bits.

Cela supprime également le message trompeur «pas un exécutable dynamique» de ldd lors de l'appel de ldd sur un exécutable dynamique 32 bits.

Vous devez maintenant installer les bibliothèques 32 bits manquantes avec lesquelles les binaires sous adt-bundle-linux / sdk / platform-tools sont liés:

# yum install zlib.i686 libstdc++.i686 ncurses-libs.i686 libgcc.i686

C'est tout.


3
C'est bien de voir une solution pour les utilisateurs de Fedora!
Kyle

24

J'utilise Ubuntu 14.04 LTS 64 bits et le code suivant fonctionne pour moi ;

sudo apt-get install lib32z1 lib32z1-dev
sudo apt-get install lib32stdc++6


Résumé:

Après avoir essayé apt-get install ia32-libs , mais l'outil de package apt le suggère;

Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source.

However the following packages replace it:
  lib32z1 lib32ncurses5 lib32bz2-1.0

Ensuite, le code ci-dessus fonctionne pour moi.


J'ai essayé votre solution mais le problème persiste avec moi.
tvshajeer

1
A travaillé pour un Ubuntu 16
Abduhafiz

9

Cela fonctionne très bien dans la version 64 bits d'Ubuntu 13.04

Vous ne pouvez plus installer ia32-libs, vous devez donc les bibliothèques 32 bits individuelles requises par adb

sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

Testé. Fonctionne très bien sur 13.04 64bit. Merci beaucoup: D
Blaze Tama

Sur ma machine Ubuntu 14.04 64 bits, une dépendance lib32tinfo5 a également été installée automatiquement.
faizal

8

Sur Arch Linux:

Activez les référentiels "multiarch" dans /etc/pacman.conf

puis exécutez:

root@box#pacman -Syu

root@box#pacman -S lib32-glibc lib32-zlib lib32-libstdc++5 lib32-ncurses lib32-gcc-libs

Cela a fonctionné pour moi. C'est le multilibréférentiel à activer.
paldepind

4

J'utilise Ubuntu 12.04 LTS et cette commande est la seule chose qui a fonctionné pour moi:

sudo apt-get install lib32z1 lib32z1-dev

Une fois que j'ai exécuté cela à partir d'une ligne de commande, j'ai pu générer le fichier R.java (le signe révélateur que quelque chose dans l'installation des outils du SDK Android n'est pas tout à fait correct) en effectuant un projet> Nettoyer dans Eclipse.


3

Pour Debian 7.0 multiarchives, ajoutez:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

2
Cela semble n'avoir rien à voir avec la question.
Nom d'écran ésotérique

Ça marche. Mais c'est assez avec les paquets libc6: i386 et libstdc ++ 6: i386
Jorge Sainz


2

Vous devez installer le package ia32-libs (bibliothèques IA32) pour que cela fonctionne.




2

À partir du HOWTO Ubuntu Multiarch :

Certains utilisateurs utilisant le SDK Android peuvent rencontrer des problèmes lorsqu'ils tentent d'exécuter des outils de construction ou des outils de plate-forme sur une plate-forme amd64 bits. En remplacement de ia32-libs, les utilisateurs devraient se contenter d'installer les bibliothèques suivantes:

dpkg --add-architecture i386
aptitude update
aptitude install libstdc++6:i386 libgcc1:i386 zlib1g:i386 libncurses5:i386

1

Installez ces bibliothèques sous linux apt-get install ia32-libs


1

Exécutez ces commandes ci-dessous. Ça a marché pour moi

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs

1

dans ubuntu 64 bits [12.04] - [14.10] et OS élémentaire 64 bits

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386

1

Parfois, il s'agit simplement de donner aux fichiers sdk les autorisations nécessaires.

sudo chmod -R +x /path/to/android-sdk-linux

Redémarrez Android Studio et voyez si cela résout le problème.

Les problèmes d'autorisation se produisent généralement lorsque vous copiez / déplacez des fichiers sdk à partir d'une partition NTFS ou copiez à partir d'un autre ordinateur.


1

sudo apt installer adb

adb n'est pas installé sur votre ordinateur

Essaye ça.


0

http://abhinavasblog.blogspot.sg/2013/10/working-with-ubuntu-1304-and-1310-java.html

le blog explique la résolution d'Ubuntu 13.10 pour l'installation de Chrome, Java et la réparation du SDK Android.


Les liens vers des ressources externes sont encouragés, mais veuillez ajouter du contexte autour du lien afin que vos collègues utilisateurs aient une idée de ce que c'est et pourquoi il est là. Citez toujours la partie la plus pertinente d'un lien important, au cas où le site cible serait inaccessible ou serait définitivement hors ligne. Juste pour l'avenir, la réponse est déjà donnée. Voir cet article méta.
Johannes Stadler

0

Le combo actuel correct pour Arch Linux est le suivant::

[Cette partie est inchangée] Ne commentez pas la section suivante dans /etc/pacman.conf:

...
[multilib]
Include = /etc/pacman.d/mirrorlist
...

Ensuite:

sudo pacman -Syu && sudo pacman -S multilib/lib32-libstdc++5 multilib/lib32-zlib

La différence avec l'autre réponse est que les noms de paquet incluent désormais le multilib / part.

(à partir d'Arch Wiki: Multilib # Enabling , Android # Troubleshooting )

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.