Umgebungsvariable 'ANDROID_HOME' konnte nicht gefunden werden

131

Ich versuche ein ionic-android-Projekt zu erstellen und ich habe android sdk installiert.

SDK Manager installierte Pakete

Der Name meines Projekts ist myApp. Ich habe Android-Plattform erfolgreich zu myApp hinzugefügt. Aber wenn ich versuche, das Projekt zu bauen

~/myApp$ sudo ionic build android

Ergebnis ist

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.

Siehe die Variablen ANDROID_HOME und 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

Ich habe fast die gleichen Fragen zum Stapelüberlauf gesehen, aber keine funktioniert für mich. Stimmt etwas mit meiner Android-SDK-Konfiguration nicht? Wie kann ich dieses Projekt erstellen?

Hari Krishnan
quelle
2
Ihr ANDROID_HOME sieht eher aus wie ein PFAD. Wenn Sie Echo, sollte es nur zurückkehren /home/hari/Android/Sdk(vorausgesetzt, das ist richtig)
OneCricketeer
Siehe meine Antwort auf [Diese Frage] ( stackoverflow.com/questions/35110403/… ) wird es für Sie beheben
Ramy Hakam
Ich muss dies jedes Mal eingeben, wenn ich das Terminal öffne. Wie kann ich es beibehalten?
Luke Flournoy
@ LukeFlournoy Siehe die "Priori Things" (Schritte 1 und 2) dieser Antwort
Diego Somar

Antworten:

199

Möglicherweise möchten Sie bestätigen, dass Ihre Entwicklungsumgebung korrekt eingestellt wurde.

Zitat aus spring.io :

Richten Sie die Android-Entwicklungsumgebung ein

Bevor Sie Android-Anwendungen erstellen können, müssen Sie das Android SDK installieren. Durch die Installation des Android SDK wird auch der AVD Manager installiert, eine grafische Benutzeroberfläche zum Erstellen und Verwalten von virtuellen Android-Geräten (AVDs).

  1. Laden Sie von der Android-Website die richtige Version des Android SDK für Ihr Betriebssystem herunter.

  2. Entpacken Sie das Archiv an einen Ort Ihrer Wahl. Unter Linux oder Mac können Sie es beispielsweise im Stammverzeichnis Ihres Benutzerverzeichnisses ablegen. Weitere Installationsdetails finden Sie auf der Android Developers -Website.

  3. Konfigurieren Sie die ANDROID_HOMEUmgebungsvariable basierend auf dem Speicherort des Android SDK. Erwägen Sie außerdem das Hinzufügen ANDROID_HOME/toolsund ANDROID_HOME/platform-toolszu Ihrem PFAD.

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

Windows

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

Der Android SDK-Download enthält keine bestimmten Android-Plattformen. Um den Code in diesem Handbuch auszuführen, müssen Sie die neueste SDK-Plattform herunterladen und installieren. Verwenden Sie dazu das Android SDK und den AVD Manager, die Sie im vorherigen Abschnitt installiert haben.

  1. Öffnen Sie das Fenster Android SDK Manager :

    android

    Hinweis: Wenn dieser Befehl den Android SDK-Manager nicht öffnet , ist Ihr Pfad nicht richtig konfiguriert.

  2. Wählen Sie das Werkzeug Kontrollkästchen.

  3. Aktivieren Sie das Kontrollkästchen für das neueste Android SDK .

  4. Aus den Extras - Ordnern, wählen Sie das Kontrollkästchen für den Android Support Library .

  5. Klicken Sie auf die Schaltfläche Pakete installieren ... , um den Download und die Installation abzuschließen.

    Hinweis: Möglicherweise möchten Sie alle verfügbaren Updates installieren. Beachten Sie jedoch, dass dies länger dauern wird, da jede API-Ebene ein großer Download ist.

Brad W.
quelle
1
in Nr. 3 (Variable ANRDOID_HOME konfigurieren): In welcher Datei sollte dies sein?
suMi
@suMi Sie führen den Exportbefehl von Ihrem Terminal aus basierend auf Ihrem Betriebssystem aus und ändern den von Ihnen festgelegten Pfad entsprechend dem Speicherort ANDROID_HOMEdes SDK. Weitere Informationen finden Sie unter stackoverflow.com/questions/19986214/… .
Brad W
@suMI Wenn Sie möchten, dass die Änderungen dauerhaft sind, fügen Sie diese Zeilen zu .bashrc hinzu, wenn Sie unter Linux oder Mac arbeiten.
Brt
Wenn jemand auf dieses Problem stößt, das aus teamcity entsteht, müssen Sie env-Parameter in teamcity für ANDROID_HOME erstellen.
Lawphotog
Was ist das /android-sdk-linux, toolsund platform-tools? Ich sehe solche Verzeichnisse nicht in meinem /opt/android-studio. Mein Android Studio läuft, aber ich habe keine diese Verzeichnisse.
Dzintars
38

Unter Linux

Setzen Sie zunächst ANDROID_HOME in die .bashrc-Datei

Führen Sie den Befehl aus

sudo gedit ~/.bashrc

Stellen Sie den andoid sdk-Pfad ein, in dem Sie ihn installiert haben

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

Befehl zum erneuten Laden der Datei ausführen

source ~/.bashrc

Überprüfen Sie nun die installierte Plattform und führen Sie den Befehl aus

ionic platform

Ausgabe

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

Wenn Android bereits installiert ist, müssen Sie es entfernen und erneut installieren

ionic platform rm android
ionic platform add android

Wenn noch nicht installiert, fügen Sie bitte die Android-Plattform hinzu

ionic platform add android

Bitte stellen Sie sicher, dass Sie Android-Plattform ohne sudo-Befehl hinzugefügt haben

Wenn Sie immer noch Fehler beim Hinzufügen von Android-Platfrom wie folgt erhalten

Fehler: EACCES: Berechtigung verweigert, öffnen Sie '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'

Bitte gehen Sie zu / home / ubuntu / und entfernen Sie den Ordner .cordova von dort

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

Führen Sie nun den folgenden Befehl erneut aus

ionic platform add android

Nachdem Sie die Plattform erfolgreich hinzugefügt haben, können Sie Andoid in ionischer Form aufbauen.

Vielen Dank

Dineshaws
quelle
14
ab Version 3.0.0 ist es ionic cordova platform add android.
Baumi
28

Dies sind die Schritte, die Sie ausführen müssen, um Ihr Ionic Project erfolgreich für die Arbeit mit dem Android-Emulator einzurichten:

  1. Erstellen eines ionischen Projekts: Registerkarten für den ionischen Start der AppName (für das Tab-Thema)
  2. cd appName
  3. ionischer Aufbau sass
  4. So starten Sie die App im Web: ionic serve

So fügen Sie eine Android-Plattform hinzu:

Priori Dinge

Zuerst müssen Sie die Umgebungsvariablen einrichten. Dazu müssen Sie 3 Dateien berücksichtigen:

1. ~ / .profile (Zum Einrichten der Variablen bei jedem Öffnen des Terminals oder beim Starten des Computers):

// Code, den Sie zuletzt anhängen müssen

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 (um die Umgebungsvariablen festzulegen):

// Der gesamte Inhalt der Datei

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 / profile :

// Code, den Sie zuletzt hinzufügen müssen

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

Um die oben genannten Änderungen an der Datei zu laden, müssen Sie den folgenden Befehl ausführen:

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

Posteori Dinge

1. Plattform hinzufügen: ionische Plattform Android hinzufügen (Beachten Sie, dass Sie diesen Befehl ohne sudo ausführen müssen )

2. Wenn im obigen Befehl immer noch eine Fehlermeldung angezeigt wird, gehen Sie wie folgt vor: (hier 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. So führen Sie die App in Ihrem Android-Emulator aus: ionic run android

Vielen Dank!

Nikhil Arora
quelle
Danke Nikhil, es hat auch bei mir funktioniert. Nachdem Sie viele Dinge ausprobiert hatten - es funktionierte mit den oben genannten Schritten :-)
Rajeev Jayaswal
Nach dem Hinzufügen der Java- und Android-Variablen zur / etc / -Umgebung hatte ich ein Problem mit der Anmeldeschleife. Zum Glück konnte ich das aus dem Terminal-Login entfernen (Strg + Alt + F3) und das Login ist jetzt normal.
Harry
8

Wenn Sie eine tragbare SDK-Edition unter Windows haben, fügen Sie einfach den folgenden 2 Pfad zu Ihrem System hinzu.

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

Das hat bei mir funktioniert.

BoCyrill
quelle
Ich frage mich, warum meine Antwort abgelehnt wurde. Ist es möglich, den Grund für diese Aktion zu haben?
BoCyrill
2
weil du nicht sagst, wie man sie hinzufügt?
Florian Lauterbach
1
Genau, Sie haben nicht angegeben, wie dieser Prozess ausgeführt werden soll.
Anuj
8

Ich hatte dieses Problem schon einmal.
Sie müssen sdks\toolsund sdks\build-toolszu Ihrem Umgebungspfad hinzufügen .

Jalaleddin Hosseini
quelle
5

Ausführen: sudo gedit ~/.bashrc hinzufügen

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

und

source ~/.bashrc
Diego Salguero
quelle
5

11. April 2019

Keine der oben genannten Antworten löste mein Problem, daher wollte ich eine aktuelle Lösung (Stand April 2019) für Benutzer von Ubuntu 18.04 aufnehmen. So habe ich die obige Frage gelöst ...

  1. Ich habe das Android SDK von der Website installiert und in diesen Ordner gelegt:/usr/lib/Android/
  2. Suchen Sie nach dem Installationsort des SDK und der Version. In meinem Fall war es hier:

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

    Hinweis: Da ich Version 28.0.3 verwende, kann Ihre Version abweichen.

  3. In ANDROID_HOMEfür die Umwelt Weg. Öffnen Sie dazu / etc / environment mit einem Texteditor:

    sudo nano /etc/environment

    Fügen Sie eine Zeile für ANDROID_HOMEIhre spezifische Version und Ihren Pfad hinzu. In meinem Fall war es:

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

  4. Zum Schluss die aktualisierte Umgebung mit: source /etc/environment

    Bestätigen Sie dies, indem Sie versuchen: echo $ANDROID_HOMEim Terminal. Sie sollten den Pfad Ihrer neu erstellten Variablen erhalten.

    Ein zusätzlicher Hinweis zum Sourcing: Ich musste meinen Computer neu starten, damit das VScode-Terminal meine Änderungen erkennt. Nach dem Neustart wurde die Umgebung festgelegt und ich hatte seitdem keine Probleme mehr.

bsheps
quelle
2

Ich möchte eine Antwort teilen, die auch die Vorgehensweise mit dem vom Ubuntu-Repository bereitgestellten Android SDK demonstriert:

Installieren Sie das Android SDK

sudo apt-get install android-sdk

Umgebungsvariablen exportieren

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

Kam hierher von Google auf der Suche nach dem gleichen Problem und verschwendete 4 Stunden, um herauszufinden, was falsch sein könnte. Und jetzt fühle ich mich wirklich dumm, wenn ich diese Antwort poste. In meinem Fall wurden SDK, JDK, JRE, Ant und alles andere einen Tag zuvor installiert und funktionierten.

Aber nur ein bestimmtes Projekt gab mir dieses Problem. Dieser befand sich unter "C: \ Benutzer \ Name \ Dokumente" Standort

Bald wurde mir klar, dass ich cmd als normaler Benutzer ausführte, sobald ich " Als Administrator ausführen" auswählte fing alles an zu funktionieren.

Tipp: Überlegen Sie den Projektstandort immer sorgfältig!

Hitin
quelle
1

Dies löste mein Problem. Fügen Sie unten Ihrem Systempfad hinzu

PATH_TO_android \ Plattformen

PATH_TO_android \ platform-tools

PKInd007
quelle
0

Ich habe dieses Problem auf einem Windows 7-Computer festgestellt: Das Herunterfahren des Computers während der Ausführung von Ionic Serve (ich gehe davon aus, dass dies das Problem war, das alles beschädigt hat).

Entfernen Sie den Knoten VOLLSTÄNDIG und installieren Sie alles auf einer neuen Knotenkopie neu

DudeOfLayers
quelle
0

Wenn Sie diesen Befehl unter Windows vom VS-Code-Terminal ausführen und auch nach dem Einrichten aller Umgebungsvariablen (iebuild-tools, platform-tools, tools) nicht funktioniert, können Sie nicht versuchen, denselben Befehl vom externen cmd-Terminal aus auszuführen. In meinem Fall konnte der aktualisierte Umgebungspfad auch nach dem Starten eines neuen VS-Code-Terminals nicht verwendet werden.

Es hat funktioniert, als ich den gleichen Befehl von Windows cmd ausgeführt habe.

Himanshu Goyal
quelle
0

Um die ANDROID_HOME- Umgebung unter Ubuntu 20.04 festzulegen, besuchen Sie den Ubuntu-Snap-Store, installieren Sie Android Studio und öffnen Sie es

vim $HOME/.bashrc

Stellen Sie die Umgebungsvariablen wie folgt ein:

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}

Mit neueren Versionen von Android Studio ersetzen Sie ANDROID_HOME durch ANDROID_SDK_ROOT. Andernfalls wird bei Builds beanstandet, dass ANDROID_HOME veraltet ist.

Hamfri
quelle