Sto cercando di aggiungere adb alla variabile PATH OSX


121

Sto cercando di sviluppare per Android e voglio aggiungerlo adbal mio in PATHmodo da poterlo avviare molto facilmente. Ho già aggiunto directory in passato per qualche motivo adbnon voglio essere trovato. Questo è molto frustrante. Qualcun altro ha avuto questo problema prima?

Ho creato un file .profilee ho aggiunto quanto segue.

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

Quando controllo il percorso dell'ambiente, vedo quanto segue:

/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

Quindi so che viene aggiunto alla mia PATHvariabile. Ora, quando provo a eseguire, adbcapisco che non viene trovato.

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

Questo è molto molto frustrante. Potrebbe essere un problema con le autorizzazioni? Qualcuno ha avuto questo problema con OSX e Android?


5
nota: inserire spazi prima e / o dopo il segno di uguale causa problemi. dovrebbe apparire come "export PATH = $ {PATH}: / Users / simon / Libs / android-sdk-mac_x86 / tools"
Ben H

Risposte:


42

Perché stai cercando di eseguire "./adb"? Ciò salta completamente la variabile di percorso e cerca solo "adb" nella directory corrente. Prova invece a eseguire "adb".

Modifica: il tuo percorso sembra sbagliato. Dici di avere

/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

Ti manca la parte / Users / simon.

Nota anche che se hai entrambi i file .profile e .bash_profile, solo quest'ultimo viene eseguito.


Ho provato sia ./adb che adb .. Niente, non ho idea di cosa ci sia di sbagliato in questo.
skoko

Dove dovrebbe essere posizionato adb? Controlla che sia lì e che abbia i permessi di esecuzione (cd nella directory e fai ls -l adb).
LaC

1
Se vado nella directory posso eseguirlo senza problemi. Ecco l'output. -rwxrwxrwx 1 simon staff 179312 28 febbraio 02:48 adb
skoko

1
Grazie per questa risposta. Si scopre che sia .profile che .bash_profile erano entrambi presenti. Avevo i valori in .profile e sì. Ora funziona. Grazie mille ragazzi.
skoko

1
Ora funziona, avevo solo due profili. Uno ha scritto l'altro. Se qualcuno lo sta facendo, usa .bash_profile per modificare la variabile del percorso. Ho seguito un altro tutorial che diceva di usare .profile
skoko

298

Aggiungi a PATH per ogni accesso

Versione controllo totale :

nel tuo terminale, vai alla home directory

CD

crea il file .bash_profile

tocca .bash_profile

apri il file con TextEdit

open -e .bash_profile

inserisci una riga in TextEdit

export PATH = $ PATH: / Users / username / Library / Android / sdk / platform-tools /

salva il file e ricarica il file

fonte ~ / .bash_profile

controlla se adb è stato impostato in path

versione adb


Una versione di linea

Echo il tuo comando di esportazione e reindirizza l'output da aggiungere al file .bash_profile e riavvia il terminale. (non l'ho verificato ma dovrebbe funzionare)

echo "export PATH = $ PATH: / Users / nome utente / Library / Android / sdk / platform-tools / sdk / platform-tools /" >> ~ / .bash_profile


2
Il penultimo passaggio del passaggio precedente è "Restart Terminal" :)
Brijesh Thakur

14
Il riavvio del terminale non dovrebbe essere necessario, ricaricare il file dovrebbe essere sufficiente
Tobrun

Aggiornamento: probabilmente non funziona per te perché stai utilizzando più schede. Ogni scheda del tuo terminale ha la sua sessione. Quindi ricarica il .bash_profile nella scheda del comando "adb version".
Tobrun

2
puoi usare export PATH = $ PATH: $ HOME / Library / Android / sdk / platform-tools /, semplicemente copiando e incollando e senza bisogno di cambiare il nome utente
Mohit

1
Ho rimosso il sdk/platform-tools/bit alla fine, poiché questo mi dava un avviso di bash in Android Studio.
Ryan R

65

Alternativa: installa adb in modo semplice

Se non vuoi preoccuparti del tuo percorso o aggiornare adb manualmente, puoi invece usare homebrew .

brew cask install android-platform-tools


1
Molto, MOLTO meglio quindi provare a giocherellare con PATH, .bash_profile ecc. Grazie!
smets.kevin

sì c [_] ~ ᒡ ◯ ᵔ ◯ ᒢ
Adam Mendoza

Cordiali saluti, questo ora dà l'errore: Errore: nessuna formula disponibile con il nome "android-platform-tools". Usa: brew installa invece Caskroom / cask / android-platform-tools
The Hungry

@The Hungry
And ricam

Non l'ho provato ma mi chiedo se si installa Android Studio oltre che con Homebrew, chiedendosi se questo potrebbe creare una versione non sincronizzata in futuro ... solo un pensiero
Kinergy

27

Sul mio Macbook Pro, ho aggiunto le righe di esportazione a ~ / .bash_profile, non .profile.

per esempio

export PATH=/Users/me/android-sdk-mac_86/platform-tools:/Users/me/android-sdk-mac_86/tools:$PATH

divertente. Ho aperto quel file ... Questa riga esatta era già lì. Penso che eclipse lo abbia aggiunto durante l'installazione del plug-in?
skoko

È possibile, anche se ho aggiunto il mio io stesso.
David Snabel-Caunt


Penso che questo sia esattamente il problema. Un'altra app (credo MacPorts) ha creato .profile
skoko

1
Non dimenticare di riavviare il terminale dopo averlo aggiunto a PATH.
Adam Johns

13

Basta che chiunque trovi questo post SO quando si utilizza Android Studio che include l'SDK fa parte del pacchetto dell'app (su Mac OSX).

Così come hanno notato @davecaunt e @ user1281750 ma inserisci la seguente riga in .bash_profile

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

Eccezionale! Grazie scottyab!
Rilar

In alternativa, si trova in Users / [user] / Android / sdk / platform-tools .... Non mi piace collegarmi alla cartella Applicazioni (forse sono solo io però).
Adam

13

La risposta per MAC dovrebbe essere:

  1. Apri il tuo bash_profile con i seguenti comandi: open ~/.bash_profile

  2. Nel caso in cui il file del profilo di base non esista, crearne uno nuovo con il seguente comando: touch .bash_profilequindi ripetere la fase 1.

  3. Aggiungi la seguente riga: export PATH=/Users/"YOURUSER"/Library/Android/sdk/platform-tools:$PATH

  4. Riavvia la tua finestra bash e prova digitando adb shell

In bocca al lupo! :-)


9

Nel tuo terminale, vai alla home directory

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 è molto importante controlla se adb è stato impostato nel percorso

adb version

Adesso dovrebbe andare bene.


8

Uso zsh e Android Studio. Uso una variabile per il percorso del mio SDK Android e configuro nel file ~/.zshrc:

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

Nota: assicurati di non includere virgolette singole o doppie attorno al percorso specificato. Se lo fai, non funzionerà.


7

Android Studio v1.2 installa lo strumento adb in questo percorso:

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

Quindi va così:

  1. Esegui Terminal
  2. eseguire adb versione aspettarsi un output di errore
  3. touch ~/.bash_profile
  4. open ~/.bash_profile
  5. aggiungi il percorso precedente prima della "chiusura": $ PATH
  6. source ~/.bash_profile
  7. corri adb versione aspettati un output

In bocca al lupo!


3

Sembra che tu stia ancora tentando di eseguire adbcon ./adb. Ciò chiede alla shell di eseguire il programma denominato adb nella directory di lavoro corrente .

Prova solo adbsenza ./.


Ho provato anche quello. Niente. Questo mi sta davvero facendo impazzire.
skoko

@ user569594: hai riavviato la shell dopo la modifica .profile? (cioè, se tu echo $PATHprima adb, vedi le nuove directory?)
sarnold

sì, l'ho menzionato nella domanda. Si presenta nell'eco, bash per qualche motivo NON PUOI VEDERLO.
skoko

@ user569594: scusa, ho dovuto chiedere, ho visto persone modificare i propri script di avvio della shell, testare le modifiche avviando una nuova shell e dimenticare di riavviare la shell corrente e chiedersi dove fallisce ... :)
sarnold

Sì, mi sono assicurato di riavviare. Il problema stava nell'avere due profili nella mia home directory. Un .bash_profile e un .profile
skoko

3

Per fare in modo che il terminale abbia sempre il file ~/.bashrce lì metti il ​​percorso che desideri utilizzare, aggiungendo:

export PATH=$PATH:/XXX

dove XXX è il percorso che desideri utilizzare.

per adb, ecco cosa uso:

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

(dove "utente" è il mio nome utente).


1

Ho aggiunto export PATH=${PATH}:/Users/mishrapranjal/android-sdks/platform-tools/in entrambi i posti .bash_profilee .profileper assicurarmi che funzioni. Ancora non funzionava e poi ho guardato il suggerimento di sarnold sul riavvio del terminale e ha funzionato a meraviglia . Mi ha risparmiato il tempo di aggiungerlo ogni volta PATHche dovevo correre adb. Grazie ragazzi.


Invece di riaprire il tuo terminale puoi usare il seguente comando per ricaricare il file: " .bash_profile "
Tobrun

0

Se qualcuno non riesce ad arrivare, .bash_profilefile per prendere nuovi percorsi AND hai altri comandi in quel file (come i comandi alias), prova a spostare le istruzioni PATH all'inizio del file.

Questa è l'unica cosa che ha funzionato per me. Il motivo per cui ha funzionato era perché avevo degli errori di battitura nei miei comandi alias e apparentemente questo file genera un errore ed esce se si verifica un problema. Ecco perché le mie istruzioni PATH non venivano eseguite. Spostandolo in alto, lascialo funzionare per primo.


0

inserisci qui la descrizione dell'immagine

La seconda soluzione è spiegata di seguito. Ma quando chiudo il terminale la modifica che ho fatto nella variabile di percorso si perde. Quindi preferisco il primo modo!

inserisci qui la descrizione dell'immagine

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.