Impossibile trovare la variabile di ambiente "ANDROID_HOME"


131

Sto cercando di costruire un progetto ionico-android e ho installato Android SDK.

Pacchetti SDK manager installati

Il nome del mio progetto è myApp. Ho aggiunto con successo la piattaforma Android a myApp. Ma quando provo a costruire il progetto

~/myApp$ sudo ionic build android

il risultato è

Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
  add to body class: platform-android
  ERROR building one of the platforms: Failed to find 'ANDROID_HOME'  environment variable. Try setting setting it manually.
  Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

vedi la variabile ANDROID_HOME e PATH

echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin

Ho visto quasi lo stesso tipo di domande sullo overflow dello stack, ma nessuna funziona per me. C'è qualcosa di sbagliato nella mia configurazione android-sdk? Come posso costruire questo progetto?


2
Il tuo ANDROID_HOME sembra più un PERCORSO. Quando fai eco, dovrebbe solo tornare /home/hari/Android/Sdk(supponendo che sia corretto)
OneCricketeer

Vedi la mia risposta su [Questa domanda] ( stackoverflow.com/questions/35110403/… ) lo risolverà per te
Ramy hakam,

Devo accedervi ogni volta che apro il terminale, come lo persisto?
Luke Flournoy,

@LukeFlournoy Vedi le "Cose Priori" (passaggi 1 e 2) di questa risposta
Diego Somar

Risposte:


200

Potresti voler confermare che il tuo ambiente di sviluppo è stato impostato correttamente.

Citando da spring.io :

Imposta l'ambiente di sviluppo Android

Prima di poter creare applicazioni Android, è necessario installare Android SDK. L'installazione di Android SDK installa anche AVD Manager, un'interfaccia utente grafica per la creazione e la gestione di dispositivi virtuali Android (AVD).

  1. Dal sito Web Android , scaricare la versione corretta di Android SDK per il proprio sistema operativo.

  2. Decomprimi l'archivio in una posizione a tua scelta. Ad esempio, su Linux o Mac, è possibile inserirlo nella directory principale della directory dell'utente. Vedere il sito Web degli sviluppatori Android per ulteriori dettagli sull'installazione.

  3. Configura la ANDROID_HOMEvariabile di ambiente in base alla posizione dell'SDK Android. Inoltre, considera l'aggiunta ANDROID_HOME/toolse il ANDROID_HOME/platform-toolstuo PERCORSO.

Mac OS X

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Linux

export ANDROID_HOME=/<installation location>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

finestre

set ANDROID_HOME=C:\<installation location>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

Il download dell'SDK per Android non include piattaforme Android specifiche. Per eseguire il codice in questa guida, è necessario scaricare e installare la piattaforma SDK più recente. A tale scopo, utilizza Android SDK e AVD Manager che hai installato nella sezione precedente.

  1. Apri la finestra Gestione SDK Android :

    android

    Nota: se questo comando non apre Gestione SDK Android , il percorso non è configurato correttamente.

  2. Seleziona la casella di controllo Strumenti .

  3. Seleziona la casella di controllo per l' ultimo SDK Android .

  4. Dalla cartella Extra , seleziona la casella di controllo per la Libreria di supporto Android .

  5. Fare clic sul pulsante Installa pacchetti ... per completare il download e l'installazione.

    Nota: potresti voler installare tutti gli aggiornamenti disponibili, ma tieni presente che ci vorrà più tempo, poiché ogni livello API è un download di grandi dimensioni.


1
nel n. 3 (configurare la variabile ANRDOID_HOME): in quale file dovrebbe essere?
suMi

@suMi esegui il comando export dal tuo terminale in base al tuo sistema operativo e cambi il PERCORSO che hai impostato ANDROID_HOMEuguale a in base a dove hai salvato l'SDK. Vedi stackoverflow.com/questions/19986214/… per maggiori dettagli.
Brad W,

@suMI Se vuoi che le modifiche siano permanenti, aggiungi quelle righe al tuo .bashrc se sei su Linux o Mac.
brt

se qualcuno incontra questo problema costruendo da teamcity, devi creare i parametri env su teamcity per ANDROID_HOME.
Lawphotog,

Che cosa è questo /android-sdk-linux, toolse platform-tools? Non vedo queste directory nella mia /opt/android-studio. Il mio Android Studio è in esecuzione ma non ho queste directory.
Dzintars,

38

In Linux

Prima di tutto imposta ANDROID_HOME nel file .bashrc

Esegui comando

sudo gedit ~/.bashrc

imposta andoid sdk path dove hai installato

export ANDROID_HOME=/opt/android-sdk-linux 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

per ricaricare il comando di esecuzione del file

source ~/.bashrc

Ora controlla la piattaforma installata, esegui il comando

ionic platform

Produzione

Installed platforms:
  android 6.0.0
Available platforms: 
  amazon-fireos ~3.6.3 (deprecated)
  blackberry10 ~3.8.0
  browser ~4.1.0
  firefoxos ~3.6.3
  ubuntu ~4.3.4
  webos ~3.7.0

se Android è già installato, è necessario rimuovere e reinstallare

ionic platform rm android
ionic platform add android

Se non è già installato, aggiungi la piattaforma Android

ionic platform add android

Assicurati di aver aggiunto la piattaforma Android senza il comando sudo

se riscontri ancora errori nell'aggiunta di platfrom Android come segue

Errore: EACCES: autorizzazione negata, aprire "/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json"

Vai su / home / ubuntu / e rimuovi la cartella .cordova da lì

cd /home/ubuntu/
sudo rm -r .cordova

Ora esegui di nuovo il comando seguente

ionic platform add android

dopo aver aggiunto correttamente la piattaforma sarai in grado di costruire andoid in ionico.

Grazie


14
dalla versione 3.0.0 lo è ionic cordova platform add android.
Baumi,

28

Questi sono i passaggi che devi seguire per configurare correttamente il tuo progetto Ionic per funzionare con l'emulatore Android:

  1. Crea un progetto ionico: ionic start appName tab (per tema tab)
  2. cd appName
  3. setup ionico sass
  4. Per avviare l'app sul Web: servizio ionico

Per aggiungere la piattaforma Android:

Priori Things

Per prima cosa devi impostare le variabili di ambiente. Per questo è necessario considerare 3 file:

1. ~ / .profile (per impostare le variabili ogni volta che si apre un terminale o si avvia il computer):

// Codice che è necessario aggiungere alla fine

set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2. / etc / environment (per impostare le variabili di ambiente):

// Tutto il contenuto del file

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>

3. / etc / profilo :

// Codice che è necessario aggiungere alla fine

JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

Per caricare le modifiche sopra apportate al file è necessario eseguire il comando seguente:

source ~/.profile
source /etc/environment
source /etc/profile

Posteori Things

1. Aggiungi piattaforma: piattaforma ionica aggiungi android (Nota che devi eseguire questo comando senza sudo )

2. Se stai ancora riscontrando errori nel comando precedente, procedi come segue: (qui appName = helloWorld)

    cd ..
    sudo chmod -R 777 helloWorld
    cd helloWorld 
    ionic platform add android
    If you are still getting the error then remove ".cordova" folder from the home directory of your PC.

3. Per eseguire l'app nel tuo emulatore Android: ionic run android

Grazie!


Grazie Nikhil, ha funzionato anche per me. Dopo aver provato un sacco di cose - ha funzionato con i passaggi precedenti che hai fornito :-)
Rajeev Jayaswal il

Ho finito per avere un problema di "login loop" dopo aver aggiunto le variabili Java e Android all'ambiente / etc /. Fortunatamente sono stato in grado di rimuoverlo dal login del terminale (ctrl + alt + F3) e il login ora è normale.
Harry,

8

Per coloro che hanno un'edizione SDK portatile su Windows, aggiungi semplicemente il seguente percorso 2 al tuo sistema.

F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools

Questo ha funzionato per me.


Mi chiedo perché la mia risposta sia stata votata verso il basso. È possibile avere la ragione di questa azione?
BoCyrill,

2
perché non stai dicendo come aggiungerli?
Florian Lauterbach,

1
Esatto, non hai specificato come eseguire tale processo.
Anuj,

8

Ho avuto questo problema prima.
È necessario aggiungere sdks\toolse sdks\build-toolsal percorso dell'ambiente.


5

Esegui: sudo gedit ~/.bashrc aggiungi

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

e

source ~/.bashrc

5

11 aprile 2019

Nessuna delle risposte di cui sopra ha risolto il mio problema, quindi ho voluto includere una soluzione attuale (ad aprile 2019) per le persone che usano Ubuntu 18.04. Ecco come ho risolto la domanda sopra ...

  1. Ho installato Android SDK dal sito Web e l'ho inserito in questa cartella:/usr/lib/Android/
  2. Cerca dove è installato SDK e la versione. Nel mio caso era qui:

    /usr/lib/Android/Sdk/build-tools/28.0.3

    Nota: sto usando la versione 28.0.3, la tua versione potrebbe essere diversa.

  3. Aggiungi ANDROID_HOMEal percorso dell'ambiente. Per fare ciò, apri / etc / environment con un editor di testo:

    sudo nano /etc/environment

    Aggiungi una riga per ANDROID_HOMEla versione e il percorso specifici. Nel mio caso era:

    ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"

  4. Infine, crea l'ambiente aggiornato con: source /etc/environment

    Confermare provando: echo $ANDROID_HOMEnel terminale. Dovresti ottenere il percorso della tua variabile appena creata.

    Una nota aggiuntiva sull'approvvigionamento, ho dovuto riavviare il computer affinché il terminale VScode riconoscesse le mie modifiche. Dopo il riavvio, l'ambiente è stato impostato e da allora non ho più avuto problemi.


2

Vorrei condividere una risposta che dimostra anche l'approccio usando l'SDK Android fornito dal repository Ubuntu:

Installa Android SDK

sudo apt-get install android-sdk

Esporta variabili ambientali

export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"

1

Sono venuto qui da Google alla ricerca dello stesso problema e ho perso 4 ore per capire cosa potrebbe esserci di sbagliato. E ora mi sento davvero stupido mentre invio questa risposta. Nel mio caso SDK, JDK, JRE, Ant e tutto il resto erano installati e funzionanti il ​​giorno prima.

Ma solo un particolare progetto mi stava dando questo problema. Questo era in "C: \ Users \ Nome \ Documents" posizione

Presto mi sono reso conto che stavo eseguendo cmd come utente normale, non appena ho scelto " Esegui come amministratore " tutto ha iniziato a funzionare.

Suggerimento: considerare sempre attentamente la posizione del progetto!


1

Questo ha risolto il mio problema. Aggiungi sotto al percorso del tuo sistema

piattaforme PATH_TO_android \

PATH_TO_android \ platform-tools


0

Ho riscontrato questo problema sul computer Windows 7: l'arresto del computer mentre era in esecuzione il servizio ionico (suppongo che sia stato il problema a corrompere tutto)

Rimuovere il nodo COMPLETAMENTE e reinstallare tutto su una nuova copia del nodo


0

In Windows, se si esegue questo comando dal terminale del codice VS e anche dopo aver impostato tutte le variabili d'ambiente (iebuild-tools, platform-tools, tools) non funziona cercando di eseguire lo stesso comando dal terminale cmd esterno. Nel mio caso, anche dopo aver avviato un nuovo terminale in codice VS, non è stato possibile prendere il percorso Ambiente aggiornato.

Ha funzionato quando ho eseguito lo stesso comando da Windows cmd.


0

Per impostare l' ambiente ANDROID_HOME su ubuntu 20.04 visitare lo snap store di Ubuntu e installare Android Studio e quindi aprire

vim $HOME/.bashrc

E imposta le variabili di ambiente come segue:

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/emulator:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}

Con le versioni recenti di Android Studio sostituire ANDROID_HOME con ANDROID_SDK_ROOT, altrimenti le build si lamenteranno che ANDROID_HOME è obsoleto.

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.