Es wurde versucht, adb zur PATH-Variablen OSX hinzuzufügen

121

Ich versuche, für Android zu entwickeln, und ich möchte das adbzu meinem hinzufügen , PATHdamit ich es wirklich einfach starten kann. Ich habe schon Verzeichnisse hinzugefügt, die aus irgendeinem Grund adbnicht gefunden werden wollen. Das ist sehr frustrierend. Hat jemand anderes dieses Problem schon einmal gehabt?

Ich habe eine Datei erstellt .profileund Folgendes hinzugefügt.

export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/platform-tools/
export PATH = ${PATH}:/Users/simon/Libs/android-sdk-mac_x86/tools

Wenn ich meinen Umgebungspfad überprüfe, sehe ich Folgendes:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Ich weiß also, dass es meiner PATHVariablen hinzugefügt wird. Wenn ich jetzt versuche zu rennen, adbbekomme ich, dass es nicht gefunden wird.

-bash: ./adb: No such file or directory

Das ist sehr sehr frustrierend. Könnte es ein Problem mit Berechtigungen sein? Hat jemand dieses Problem mit OSX und Android gehabt?

Skoko
quelle
5
Hinweis: Das Setzen von Leerzeichen vor und / oder nach dem Gleichheitszeichen verursacht Probleme. es sollte aussehen wie "export PATH = $ {PATH}: / Users / simon / Libs / android-sdk-mac_x86 / tools"
Ben H

Antworten:

42

Warum versuchen Sie "./adb" auszuführen? Dadurch wird die Pfadvariable vollständig übersprungen und nur im aktuellen Verzeichnis nach "adb" gesucht. Versuchen Sie stattdessen "adb" auszuführen.

Bearbeiten: Ihr Pfad sieht falsch aus. Du sagst du bekommst

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Libs/android-sdk-mac_x86/tools:/Libs/android-sdk-mac_x86/platform-tools

Sie vermissen den Teil / Users / simon.

Beachten Sie auch, dass nur letztere ausgeführt werden, wenn Sie sowohl .profile- als auch .bash_profile-Dateien haben.

LaC
quelle
Versuchte sowohl ./adb als auch adb .. Nichts, ich habe keine Ahnung, was daran falsch ist.
Skoko
Wo soll sich adb befinden? Überprüfen Sie, ob es vorhanden ist und Ausführungsberechtigungen hat (CD in das Verzeichnis und ls -l adb ausführen).
LaC
1
Wenn ich in das Verzeichnis gehe, kann ich es problemlos ausführen. Hier ist die Ausgabe. -rwxrwxrwx 1 Simon Mitarbeiter 179312 28 Feb 02:48 adb
Skoko
1
Danke für diese Antwort. Es stellt sich heraus, dass sowohl .profile als auch .bash_profile vorhanden waren. Ich hatte die Werte in .profile und ja. Jetzt gehts. Vielen Dank, Jungs.
Skoko
1
Funktioniert jetzt, ich hatte gerade zwei Profile. Einer überschrieb den anderen. Wenn jemand dies tut, verwenden Sie .bash_profile, um die Pfadvariable zu bearbeiten. Ich folgte einem anderen Tutorial, das sagte, .profile
skoko
298

Für jeden Login zu PATH hinzufügen

Total Control Version :

Navigieren Sie in Ihrem Terminal zum Ausgangsverzeichnis

CD

Erstellen Sie die Datei .bash_profile

Berühren Sie .bash_profile

Datei mit TextEdit öffnen

öffne -e .bash_profile

Zeile in TextEdit einfügen

export PATH = $ PATH: / Benutzer / Benutzername / Bibliothek / Android / sdk / platform-tools /

Datei speichern und Datei neu laden

Quelle ~ / .bash_profile

Überprüfen Sie, ob adb in path gesetzt wurde

ADB-Version


One-Liner-Version

Wiederholen Sie Ihren Exportbefehl und leiten Sie die Ausgabe, die an die Datei .bash_profile angehängt werden soll, um und starten Sie das Terminal neu. (habe dies nicht überprüft, sollte aber funktionieren)

echo "export PATH = $ PATH: / Benutzer / Benutzername / Bibliothek / Android / sdk / Plattform-Tools / sdk / Plattform-Tools /" >> ~ / .bash_profile

Tobrun
quelle
2
Der vorletzte Schritt im obigen Schritt ist "Terminal neu starten" :)
Brijesh Thakur
14
Ein Neustart des Terminals sollte nicht erforderlich sein, das Neuladen der Datei sollte ausreichen
Tobrun
Update: Wahrscheinlich funktioniert es bei Ihnen nicht, weil Sie mehrere Registerkarten verwenden. Jeder Tab auf Ihrem Terminal hat seine eigene Sitzung. Laden Sie also das .bash_profile auf der Registerkarte des Befehls "adb version" neu.
Tobrun
2
kann export PATH = $ PATH: $ HOME / Bibliothek / Android / sdk / platform-tools / verwenden, nur durch Kopieren und Einfügen und ohne den Benutzernamen
Mohit
1
Ich habe das sdk/platform-tools/Bit am Ende entfernt, da dies mir in Android Studio eine Bash-Warnung gab.
Ryan R
64

Alternative: Installieren Sie adb auf einfache Weise

Wenn Sie sich keine Gedanken über Ihren Pfad machen oder adb manuell aktualisieren müssen, können Sie stattdessen Homebrew verwenden.

brew cask install android-platform-tools

Brismut
quelle
1
Viel, VIEL besser als zu versuchen, mit PATH, .bash_profile usw. herumzuspielen. Danke!
smets.kevin
yup c [_] ~ M ◯ ᵔ ᵔ ◯
Adam Mendoza
Zu Ihrer Information, dies gibt jetzt den Fehler: Fehler: Keine verfügbare Formel mit dem Namen "android-platform-tools". Verwenden Sie: Brew installieren stattdessen Caskroom / Cask / Android-Plattform-Tools
The Hungry Androider
@ The Hungry Androider - behoben
Brismuth
Ich habe dies nicht ausprobiert, aber ich frage mich, ob man Android Studio sowie Homebrew installiert und ob dies in Zukunft zu einem nicht synchronen Versionsproblem führen könnte ... nur ein Gedanke
Kinergy
27

Auf meinem Macbook Pro habe ich die Exportzeilen zu ~ / .bash_profile und nicht zu .profile hinzugefügt.

z.B

export PATH=/Users/me/android-sdk-mac_86/platform-tools:/Users/me/android-sdk-mac_86/tools:$PATH
David Snabel-Caunt
quelle
komisch. Ich habe diese Datei geöffnet ... Diese genaue Zeile war bereits vorhanden. Ich denke, Eclipse hat das während der Installation des Plug-Ins hinzugefügt?
Skoko
Es ist möglich, obwohl ich meine selbst hinzugefügt habe.
David Snabel-Caunt
Laut johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x haben Sie möglicherweise widersprüchliche Profile
David Snabel-Caunt
Ich denke, genau das war das Problem. Eine andere App (ich denke MacPorts) erstellt .profile
skoko
1
Vergessen Sie nicht, das Terminal neu zu starten, nachdem Sie PATH hinzugefügt haben.
Adam Johns
13

Nur einschließen, dass jemand diesen SO-Beitrag findet, wenn er Android Studio verwendet, das das SDK enthält, das Teil des App-Pakets ist (unter Mac OSX).

Wie @davecaunt und @ user1281750 festgestellt haben, fügen Sie die folgende Zeile in .bash_profile ein

export PATH=/Applications/Android\ Studio.app/sdk/tools:/Applications/Android\ Studio.app/sdk/platform-tools:$PATH
Scottyab
quelle
Genial! Danke Scottyab!
Rilar
Alternativ befindet es sich in Users / [user] / Android / sdk / platform-tools .... Ich mag es nicht, auf den Ordner Applications zu verlinken (vielleicht bin ich es aber nur).
Adam
13

Die Antwort für MAC sollte lauten:

  1. Öffnen Sie Ihr bash_profile mit den folgenden Befehlen: open ~/.bash_profile

  2. Falls keine Basisprofildatei vorhanden ist, erstellen Sie eine neue mit dem folgenden Befehl: touch .bash_profileWiederholen Sie dann Phase 1.

  3. Fügen Sie die folgende Zeile hinzu: export PATH=/Users/"YOURUSER"/Library/Android/sdk/platform-tools:$PATH

  4. Starten Sie Ihr Bash-Fenster neu und testen Sie durch Eingabe adb shell

Viel Glück! :-)

Avi Levin
quelle
9

Navigieren Sie in Ihrem Terminal zum Ausgangsverzeichnis

cd
create file .bash_profile

touch .bash_profile
open file with TextEdit

open -e .bash_profile
insert line into TextEdit

export PATH=$PATH:/Users/username/Library/Android/sdk/platform-tools/
save file and reload file

source ~ / .bash_profile ist eine sehr wichtige Überprüfung, ob adb in path gesetzt wurde

adb version

Es sollte jetzt in Ordnung sein.

Kotini Tirumula
quelle
8

Ich benutze zsh und Android Studio. Ich verwende eine Variable für meinen Android SDK-Pfad und konfiguriere in der Datei ~/.zshrc:

export ANDROID_HOME=/Applications/Android\ Studio.app/sdk
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"

Hinweis: Stellen Sie sicher, dass der angegebene Pfad keine einfachen oder doppelten Anführungszeichen enthält. Wenn Sie dies tun, wird es nicht funktionieren.

Colabug
quelle
7

Android Studio v1.2 installiert das ADB-Tool unter folgendem Pfad:

~/Library/Android/sdk/platform-tools/adb

So geht es also:

  1. Führen Sie Terminal aus
  2. Führen Sie adb versioneine Fehlerausgabe aus und erwarten Sie sie
  3. touch ~/.bash_profile
  4. open ~/.bash_profile
  5. Fügen Sie den obigen Pfad vor dem 'Schließen' hinzu: $ PATH
  6. source ~/.bash_profile
  7. laufen adb versionund erwarten eine Ausgabe

Viel Glück!

nurnachman
quelle
3

Es scheint , dass Sie immer noch auszuführen versuchen , adbmit ./adb. Dadurch wird die Shell aufgefordert, das adb im aktuellen Arbeitsverzeichnis genannte Programm auszuführen .

Versuchen Sie es einfach adbohne ./.

Sarnold
quelle
Versuchte das auch. Nichts. Das macht mich ernsthaft verrückt.
Skoko
@ user569594: Hast du deine Shell nach der Bearbeitung neu gestartet .profile? (dh wenn Sie echo $PATHvorher adb, sehen Sie die neuen Verzeichnisse?)
Sarnold
Ja, das habe ich in der Frage erwähnt. Es zeigt sich im Echo, Bash aus irgendeinem Grund kann es einfach nicht sehen.
Skoko
@ user569594: Entschuldigung, ich musste fragen, ich habe gesehen, wie Leute ihre Shell-Startskripte bearbeitet, ihre Änderungen durch Starten einer neuen Shell getestet haben und vergessen haben, ihre aktuelle Shell neu zu starten und sich zu fragen, wo dies fehlschlägt ... :)
Sarnold
Ja, ich habe darauf geachtet, neu zu starten. Das Problem bestand darin, zwei Profile in meinem Home-Verzeichnis zu haben. Ein .bash_profile und ein .profile
skoko
3

Damit das Terminal immer über die Datei verfügt, ~/.bashrcgeben Sie den gewünschten Pfad ein, indem Sie Folgendes hinzufügen:

export PATH=$PATH:/XXX

Dabei ist XXX der Pfad, den Sie verwenden möchten.

für adb benutze ich folgendes:

export PATH=$PATH:/home/user/Android/android-sdk-linux_x86/platform-tools/

(wobei "Benutzer" mein Benutzername ist).

Android-Entwickler
quelle
1

Ich habe export PATH=${PATH}:/Users/mishrapranjal/android-sdks/platform-tools/an beiden Stellen hinzugefügt .bash_profileund .profileum sicherzustellen, dass es funktioniert. Trotzdem funktionierte es nicht und dann sah ich mir Sarnolds Tipp zum Neustart des Terminals an und es funktionierte wie ein Zauber. Es hat mir Zeit gespart, jedes Mal, PATHwenn ich laufen musste, dies hinzuzufügen adb. Danke Jungs.

Pranjal
quelle
Anstatt Ihr Terminal neu zu starten, können Sie die Datei mit dem folgenden Befehl neu laden: " . .Bash_profile "
Tobrun
0

Wenn jemand nicht in die .bash_profileDatei gelangen kann, um neue Pfade zu verwenden, UND Sie andere Befehle in dieser Datei haben (wie Alias-Befehle), versuchen Sie, die PATH-Anweisungen an den Anfang der Datei zu verschieben.

Das ist das einzige, was für mich funktioniert hat. Der Grund, warum es funktioniert hat, war, dass ich einige Tippfehler in meinen Alias-Befehlen hatte und diese Datei anscheinend einen Fehler auslöst und beendet wird, wenn ein Problem auftritt. Deshalb wurden meine PATH-Anweisungen nicht ausgeführt. Wenn Sie es nach oben verschieben, lassen Sie es zuerst laufen.

JoshJoe
quelle
0

Geben Sie hier die Bildbeschreibung ein

Die zweite Lösung wird unten erklärt. Aber wenn ich das Terminal schließe, geht die Änderung, die ich an der Pfadvariablen vorgenommen habe, verloren. Daher bevorzuge ich den ersten Weg!

Geben Sie hier die Bildbeschreibung ein

metis
quelle