Ich versuche Android für ionic in Linux zu entwickeln, aber es zeigt mir einen Fehler wie diesen
[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.]
ERROR building one of the platforms: Error: /home/kumar/myapp/platforms/Android/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /home/kumar/myapp/platforms/Android/cordova/build: Command failed with exit code 2
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)
und ich habe dies in meiner bashrc-Datei hinzugefügt
export ANT_HOME="/usr/bin/ant"
export PATH="$PATH:$ANT_HOME/bin"
export HOME="/home/kumar"
export Android_HOME="$HOME/Android-sdk-linux/tools"
export Android_PLATFORM_TOOLS="$HOME/Android-sdk-linux/platform-tools"
export PATH="$Android_HOME:$Android_PLATFORM_TOOLS:$PATH"
Ich denke, ich habe den Weg gegeben, aber ich weiß nicht, warum es mir diesen Fehler anzeigt .. Bitte helfen Sie ...
Android Home sollte das Stammverzeichnis des SDK sein.
export Android_HOME="$HOME/Android-sdk-linux"
EDIT: Terminal öffnen und diese Befehle eingeben. (Ja, auf einem Ternimal, nicht in einer Bashrc-Datei)
export Android_HOME=~/Android-sdk-macosx
PATH=$PATH:$Android_HOME/tools
PATH=$PATH:$Android_HOME/platform-tools
und dann im selben Terminal einfach Android
. Wenn konfiguriert, können Sie Buildbefehle von diesem Terminal aus verwenden. (es ist eine vorübergehende Lösung)
in ~/.bash_profile add:
export Android_HOME="/path/to/Android-sdk-macosx"
export PATH="$Android_HOME/platform-tools:$Android_HOME/tools:$PATH"
und dann im Terminal ausführen, um sofort wirksam zu werden;
in/etc/sudoers add: (Sie können die Konsole verwenden: Sudo visudo
)
Defaults env_keep += "Android_HOME"
da der Bauprozess mit Sudo
beginnen muss und Node's process.env
die jeweiligen Variablen abruft.
Fall: Mit SO Windows versuchen Sie Folgendes:
set Android_HOME=C:\\Android-sdk-windows
set PATH=%PATH%;%Android_HOME%\tools;%Android_HOME%\platform-tools
mehr in: http://spring.io/guides/gs/Android/
Fall: Sie haben keine Plattform-Tools:
cordova platforms list
cordova platforms add <Your_platform, example: Android>
In meinem Fall wurde Android und sein SDK standardmäßig installiert unter:
/root/Android/Sdk
Terminal öffnen und ~/.bashrc bearbeiten
Sudo su
vim ~/.bashrc
Exportieren Sie Android_HOME und fügen Sie Ihrem PFAD Ordner mit Binärdateien hinzu
export Android_HOME=/root/Android/Sdk
PATH=$PATH:$Android_HOME/tools
PATH=$PATH:$Android_HOME/platform-tools
Um Ihren PATH-Lauf zu aktualisieren
source ~/.bashrc
Wenn ionic build Android
immer noch fehlschlägt, kann dies an einer falschen Sdk-Version liegen. Um korrekte Versionen und Images zu installieren, führen Sie Android
über die Befehlszeile aus. Da es jetzt in Ihrem PFAD ist, sollten Sie es von überall aus ausführen können.
Laden Sie das Android SDK herunter http://developer.Android.com/sdk/installing/index.html
Sie exportieren nur den Pfad des SDK-Ordners.
export Android_HOME="YOUR_PATH/sdk/"
Ich hatte dieses Problem, als Sudo ionic run Android
als root ausgeführt wurde, da diese Umgebungsvariablen nicht persistent waren. Wird durch Ausführen von Sudo -E ionic run Android
behoben.
Das Verfahren ist in den obigen Antworten bereits gut erklärt. Wenn Sie jedoch Android_HOME
und PATH
zu .bashrc
oder .zshrc
in /home/username/
hinzufügen und versuchen, den Befehl ionic
mit Sudo
auszuführen, wird dieser Fehler möglicherweise erneut angezeigt.
Der Grund ist, es kann nach Android_HOME
und PATH
in der .zshrc
-Datei des Root-Benutzers suchen, anstatt nach dem aktuell angemeldeten Benutzer. Sie sollten dies also nur tun, wenn Sie dies in die .bashrc
- oder .zshrc
-Dateien des Root-Benutzers einfügen.
Windows - Umgebungsvariable dauerhaft setzen:
setx Android_HOME "C:\Programme\Android\android-sdk"
oder
setx Android_HOME "C:\Programme (x86)\Android\android-sdk"
Sie müssen Ihre Profildatei nur so bearbeiten:
Sudo su
vim ~/.profile
und füge dies am Ende der Datei ein:
export Android_HOME=/home/(user name)/Android/Sdk
export PATH=$PATH:/tools
export PATH=$PATH:/platform-tools
Speichern und schließen Sie die Datei und führen Sie folgende Schritte aus:
cd ~
source .profile
jetzt wenn du tust:
echo $Android_HOME
es sollte dir so etwas zeigen:
/home/(user name)/Android/Sdk
In meinem Fall: Ich habe den richtigen Pfad für Android und Java eingegeben, bekomme aber immer noch den Fehler.
Das Problem war, dass ich die Android-Plattform mit dem Sudo-Befehl .Sudo ionic cordova platform Android
hinzugefügt habe.
Um mein Problem zu lösen: Zuerst habe ich die Plattform Android durch Ausführen des Befehls entfernt
Sudo Ionen Cordova Plattform rm Android
dann fügen Sie die Android-Plattform erneut mit Sudoionic cordova platform add Android
hinzu, aber ich erhalte den Fehler der Berechtigungen.
Um den Fehlerausführungsbefehl zu beheben
Sudo chmod -R 777 {Pfad des Projektes}
in meinem Fall Sudo chmod -R 777 ~/codebase/IonicProject
Dann den Befehl ausführen
ionische Cordova-Plattform hinzufügen Android
oder
ionen Cordova laufen Android
Android_HOME-Wert hinzufügen dauerhaft ,
gedit ~/.bashrc
und fügen Sie die folgenden Zeilen hinzu
export Android_HOME=/root/Android/Sdk
PATH=$PATH:$Android_HOME/tools
Speichern Sie die Datei, und Sie müssen den Android_HOME-Wert nicht jedes Mal aktualisieren.
Tolles Tutorial hier: https://www.youtube.com/watch?v=kY22NSBwV_s
Keine Notwendigkeit, irgendwelche Bash-Befehle/Symlinks auszuführen: