2016-03-28 11 views
1

Cordova korrekt installiert, Android SDK auch.'ANDROID_HOME' Umgebungsvariable auf Linux mit Nodejs undefined von Cordova

# echo $ANDROID_HOME 
/home/user/android-sdk-linux 

Aber

# cordova build android --verbose 
Error: CordovaError: 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. 
at /home/user/myApp/platforms/android/cordova/lib/check_reqs.js:225:8 
at _fulfilled (/home/user/myApp/platforms/android/cordova/node_modules/q/q.js:834:54) 
at self.promiseDispatch.done (/home/user/myApp/platforms/android/cordova/node_modules/q/q.js:863:30) 
at Promise.promise.promiseDispatch (/home/user/myApp/platforms/android/cordova/node_modules/q/q.js:796:13) 
at /home/user/myApp/platforms/android/cordova/node_modules/q/q.js:857:14 
at runSingle (/home/user/myApp/platforms/android/cordova/node_modules/q/q.js:137:13) 
at flush (/home/user/myApp/platforms/android/cordova/node_modules/q/q.js:125:13) 
at process._tickCallback (node.js:355:11) 
at Function.Module.runMain (module.js:503:11) 
at startup (node.js:129:16) 

Ok ... überprüfen Variable von NodeJS:

# node 
> process.env['ANDROID_HOME'] 
'~/android-sdk-linux' 

Alles scheint gut ... Ok ... bearbeiten Datei „home/user/myApp /platforms/android/cordova/lib/check_reqs.js "(vom obigen Fehler), indem die nächste Zeile hinzugefügt wird:

if (!process.env['ANDROID_HOME']) { 
    console.log(process.env['ANDROID_HOME']); 
    throw new CordovaError('Failed to find \'ANDROID_HOME\' environment variable. Try setting setting it manually.\n' + 
      'Failed to find \'android\' command in your \'PATH\'. Try update your \'PATH\' to include path to valid SDK directory.'); 
} 

Das Ergebnis ist:

# cordova build android --verbose 
Executing "before_build" hook for all plugins. 
... 
Executing "after_prepare" hook for all plugins. 
Executing "before_compile" hook for all plugins. 
**undefined** 
Error: CordovaError: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually. 

Wie man dieses Problem mit NodeJS und cordova lösen?

Antwort

0

Option 1

für Fenster

Rechtsklick auf Arbeitsplatz -> Eigenschaften -> Erweiterte Systemeinstellungen -> Umgebungsvariablen

Jetzt Pfad bearbeiten auf Systemvariablen;/yourSdkHome/tools;/youSdkHome/plattform-tools.

Option 2

In Windows-Rechner, Öffnen Sie die Eingabeaufforderung und geben Sie jeder dieser Befehle nacheinander

set ANDROID_HOME=C:\android-sdk-windows 
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools 

In MAC-Maschine, öffnen Sie das Terminal und geben Sie diese nacheinander

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

Hinweis - C: \ android-sdk-windows sollte durch den Pfad von Android SDK in Ihrem Computer ersetzt werden .

sollte durch den Pfad von Android SDK in Ihrem Computer ersetzt werden.

Beispiel

in MAC-Maschine, installieren, wenn Lage ist ~/adt-Bundle-mac-x86_64/sdk

erste Zeile

export ANDROID_HOME=~/adt-bundle-mac-x86_64/sdk 
+0

Das ist alles getan, Problem in NodeJS sein soll! ANDROID_HOME Variable im System definiert, aber nicht mit js-Dateien lesbar. – user1356144

Verwandte Themen