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?

ealeon
la source
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.

Robin Chander
la source
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
ekun
la source
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.

yokks
la source
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.

gihanchanuka
la source
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
GothamNite
la source
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
Naumdev
la source
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.

J Steven Perry
la source
3

Pour Debian 7.0 multiarchives, ajoutez:

dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
XXX
la source
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
3

Sur Fedora 17 ou 18:

sudo yum install redhat-lsb.i686
xwindows
la source
2

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

anthonyjruffa
la source
2

Je l'ai fait dans mon Linux Mint 12:

   chmod +x PATH/adb
Cleórbete
la source
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
bonh
la source
1

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

Khumzzz
la source
1

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

sudo apt-get dist-upgrade
sudo apt-get install ia32-libs
hémanthe rouge
la source
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
David Hackro
la source
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.

Gayan Weerakutti
la source
1

sudo apt installer adb

adb n'est pas installé sur votre ordinateur

Essaye ça.

Gautam
la source
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.

Abhinava
la source
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 )

Ivan Bartsov
la source