Impossible d'accéder à adb sous OS X via le terminal, «commande introuvable»

227

J'ai installé le SDK Android et Eclipse sur mon système Mac. Je peux programmer en utilisant Eclipse et j'ai créé quelques exemples d'applications. Mais je ne suis toujours pas en mesure d'accéder adbvia la fenêtre du terminal. J'ai essayé la commande suivante dans le terminal:

$ pwd
/Users/espireinfolabs/Desktop/soft/android-sdk-mac_x86/platform-tools

$ ls
NOTICE.txt  dexdump     llvm-rs-cc-2
aapt        dx          llvm-rs-cc.txt
adb         lib         source.properties
aidl        llvm-rs-cc

$ adb --help
-bash: adb: command not found

J'ai également ajouté la lssortie pour que vous sachiez dans quelle fenêtre je me trouve.

pankaj
la source

Réponses:

527

Le problème est: adbn'est pas dans votre PATH. C'est là que le shell recherche les exécutables. Vous pouvez vérifier votre courant PATHavec echo $PATH.

Bash essaiera d'abord de rechercher un binaire appelé adbdans votre Path, et non dans le répertoire courant. Par conséquent, si vous êtes actuellement dans le platform-toolsrépertoire, appelez simplement

./adb --help

Le point est votre répertoire actuel, et cela indique à Bash d'utiliser à adbpartir de là.

Mais en réalité, vous devez ajouter platform-toolsà votrePATH , ainsi que d'autres outils fournis avec le SDK Android. Voici comment procéder:

  1. Découvrez où vous avez installé le SDK Android. Il peut s'agir (où se $HOMEtrouve le répertoire personnel de votre utilisateur) de l'un des éléments suivants (ou vérifiez via Configurer> SDK Manager dans l'écran de démarrage d'Android Studio):

    • Linux: $HOME/Android/Sdk
    • macOS: $HOME/Library/Android/sdk
  2. Découvrez le profil de shell à modifier, en fonction du fichier utilisé :

    • Linux: généralement $HOME/.bashrc
    • macOS: généralement $HOME/.bash_profile
    • Avec Zsh: $HOME/.zshrc
  3. Ouvrez le profil de shell à partir de l'étape deux et, au bas du fichier, ajoutez les lignes suivantes. Assurez-vous de remplacer le chemin d'accès par celui où vous avez installé platform-toolss'il diffère:

    export ANDROID_HOME="$HOME/Android/Sdk"
    export PATH="$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH"
  4. Enregistrez le fichier de profil, puis redémarrez le terminal ou exécutez source ~/.bashrc(ou tout ce que vous venez de modifier).

Notez que la configuration ANDROID_HOMEest requise pour certains frameworks tiers, donc cela ne fait pas de mal de l'ajouter.

slhck
la source
8
tapez "source .bash_profile" ou ouvrez un nouvel onglet de terminal après avoir ajouté cette ligne pour commencer à l'utiliser immédiatement
Maragues
3
Pour éditer le ~/.profilefichier dans TextEdit, entrez simplement open ~/.profiledans Terminal.
Eptin
J'ai entendu dire que "si vous avez à la fois des fichiers .profile et .bash_profile, seul ce dernier est exécuté." J'imagine que le chemin doit être inséré au ~/.bash_profilelieu d'être juste ~/.profile.
Eptin
Enfin, ce qui a fonctionné pour moi, c'est de NE PAS avoir le /:$PATHà la fin de la ligne.
Eptin
8
Dans les versions plus récentes d'Android Studio: "/ Users / <user> / Library / Android / sdk / platform-tools", il s'agira donc du suivant: export PATH = "/ Users / myuser / Library / Android / sdk / platform-tools ": $ PATH
eb80
63

En plus de slhck, c'est ce qui a fonctionné pour moi (mac).

Pour vérifier où se trouve votre SDK.

  1. Ouvrez le studio Android et accédez à:

Fichier -> Structure du projet -> Emplacement du Sdk

  1. Copiez le chemin.

  2. Créez le caché .bash_profiledans votre maison.

  3. (ouvrez-le avec vimou open -e) avec ce qui suit:

export PATH=/Users/<Your session name>/Library/Android/sdk/platform-tools:/Users/<Your session name>/Library/Android/sdk/tools:$PATH

  1. Ensuite, utilisez simplement ceci dans votre terminal: . ~/.bash_profile

SO post sur la façon de trouver des appareils adb

fantôme kemicofa
la source
59

Réponse rapide

Coller cette commande dans le terminal résout le problème dans la plupart des cas:

** Pour la session terminale actuelle:

  • (sous macOS) export PATH = "~ / Library / Android / sdk / platform-tools": $ PATH
  • (sous Windows) je mettrai à jour dès que possible

** En permanence:

  • (sous macOS) modifiez l' ~/.bash_profileutilisation vi ~/.bash_profileet ajoutez cette ligne: export PATH = "~ / Library / Android / sdk / platform-tools": $ PATH

Sinon, continuez à lire.


Réponse détaillée

Android Debug Bridge , ou adb en abrégé, est généralement situé dans Platform Tools et est livré avec Android SDK , vous devez simplement ajouter son emplacement au chemin système. Le système est donc au courant et peut l'utiliser si nécessaire.

Trouver l'emplacement d'ADB

Le chemin d'accès à ce dossier varie selon le scénario d'installation, mais les plus courants sont:


  • Si vous avez installé Android Studio , le chemin d'accès à ADB serait: (le plus courant)
    • (sous macOS) ~ / Library / Android / sdk / platform-tools
    • (sous Windows) je mettrai à jour dès que possible

  • Si vous avez installé Android Studio ailleurs, déterminez son emplacement en allant sur:

    • (sous macOS) Android Studio> Préférences> Apparence et comportement> Paramètres système> SDK Android et faites attention à la case qui dit: Emplacement du SDK Android
    • (sous Windows) je mettrai à jour dès que possible

  • Cependant, le SDK Android peut être installé sans Android Studio, dans ce cas, votre chemin peut être différent et dépend de votre installation.

Ajoutez-le au chemin système

Lorsque vous avez déterminé l'emplacement d'ADB, ajoutez-le au système, suivez cette syntaxe et saisissez-le dans le terminal:

  • (sous macOS)

    export PATH = "votre / chemin / vers / adb / ici": $ PATH

    par exemple: export PATH = "~ / Library / Android / sdk / platform-tools": $ PATH

Hamid Asghari
la source
"En permanence" a fonctionné. Pour faire court: 1. vi ~ / .bash_profile 2. export PATH = "~ / Library / Android / sdk / platform-tools": $ PATH 3.: x
Johnny Five
1
vi something elseutilisez l'éditeur de console pour ouvrir le fichier, vous pouvez également utiliseropen ~/.bash_profile
cutiko
43

Pour les zshutilisateurs. Ajouter alias adb='/Users/<yourUserName>/Library/Android/sdk/platform-tools/adb'au .zshrcfichier.

Puis exécuter la source ~/.zshrccommande

Tristan Richard
la source
3
Cela a fonctionné pour moi. N'oubliez pas que source ~/.zshrcles modifications prennent effet!
Yogesh Umesh Vaity
38

Je ne sais pas comment avez-vous installé le SDK Android. Mais sous Mac OS, ce qui a vraiment fonctionné pour moi, c'est de le réinstaller à l'aide de brew. Tous les problèmes résolus d'affilée.

brew cask install android-sdk

Plus tard:

android update sdk --no-ui --filter 'platform-tools'

Comme un charme

eMarine
la source
2
Pour tous les utilisateurs de mac, c'est la meilleure réponse au problème, comme dans ce fil -> stackoverflow.com/questions/17901692/set-up-adb-on-mac-os-x
Stoycho Andreev
1
A fonctionné comme un charme!
Gandharva Bettadpur du
21
Utilisez aussi les brew cask install android-platform-toolsœuvres
Gavin
2
Il a été mis à jour à la brew cask install android-sdk source : github.com/NativeScript/nativescript-cli/issues/2706
Jai Sharma
20

Pour moi, je suis tombé sur ce problème après être passé de bash à zsh afin que ma console puisse avoir l'air génial avec Hyper et le thème snazzy . J'essayais d'exécuter mon application native native en utilisant react-native run-androidet en rencontrant le problème de l'op. L'ajout de ce qui suit dans mon ~.zshrcfichier a résolu le problème pour moi:

export ANDROID_HOME=~/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools
ragamufin
la source
17
  1. Installez simplement adb avec brew

    brew cask install android-platform-tools

  2. Vérifiez si adb est installé

    adb devices

Freddy
la source
10

Si vous utilisez zshsur un OS X, vous devez modifier le fichier zshrc.

Utilisez vim ou votre éditeur de texte préféré pour ouvrir le fichier zshrc:

vim ~/.zshrc

Collez le chemin d'accès adbdans ce fichier:

export PATH="/Users/{$USER}/Library/Android/sdk/platform-tools":$PATH
div
la source
nano ~ / .zshrc export PATH = "/ Users / {$ USER} / Library / Android / sdk / platform-tools": $ PATH
Guy West
1

Ou la solution alternative pourrait être

  1. Assurez-vous que vous avez déjà installé pour le SDK Android. Habituellement, il se trouve sous / Users / your-user-name / Library / Android / sdk
  2. Si le SDK est là, exécutez cette commande. ./platform-tools/adb installez votre-apk-location

  3. De là, vous pouvez générer le fichier APK C'est le seul exemple pour vérifier si la commande adb est là

Faris Rayhan
la source
Merci. Cela a fonctionné mais j'ai dû ajouter le répertoire sdk dans le chemin pour la 2ème étape: ./Library/Android/sdk/platform-tools/adb install ~ / Downloads / apk-release.apk
Deniz
0

Pour une raison quelconque, lors de l'installation, Android Studio 3.6.1le adbfichier se trouvait réellement dans $ANDROID_HOME/platform-tools/platform-tools. Je ne sais pas si c'est un bug avec mon installation ou quoi mais cela l'a corrigé pour moi.

KLTR
la source
0

Pour Mac, Android Studio 3.6.1, j'ai ajouté ceci à .bash_profile

export PATH="~/Library/Android/sdk/platform-tools/platform-tools":$PATH

Jordan Daniels
la source
0

Pour Mac OS Catalina ou Mojave

Entrez la commande pour ouvrir l'éditeur nano

nano $HOME/.zshrc

Définir la variable PATH, signifie ajouter plus de chemin comme indiqué ici

FLUTTER_HOME="/Users/pankaj/Library/Android/flutter-sdk/flutter/bin"
DART_HOME="/Users/pankaj/Library/Android/flutter-sdk/flutter/bin/cache/dart-sdk/bin"
ANDROID_SDK_HOME="/Users/pankaj/Library/Android/sdk"
ANDROID_ADB_HOME="/Users/pankaj/Library/Android/sdk/platform-tools"

PATH="$PATH:$FLUTTER_HOME"
PATH="$PATH:$DART_HOME"
PATH="$PATH:$ANDROID_SDK_HOME"
PATH="$PATH:$ANDROID_ADB_HOME"

Maintenant, appuyez sur Commande + X pour enregistrer le fichier dans l'éditeur, entrez Oui ou Non et appuyez sur la touche Entrée.

Pankaj Kant Patel
la source
-9

Ça marche bien ..

brew install android-sdk

Plus tard:

android update sdk --no-ui --filter 'platform-tools'
Soumik Majumder
la source
3
Un peu similaire à ma réponse, vous ne pensez pas?
eMarine
Je n'ai pas pu le comprendre parce que vous n'avez jamais mentionné "Like a charm"
quemeful