2016-03-28 72 views
1

Cordova正确安装,Android SDK也是如此。'ANDROID_HOME'环境变量在linux上与nodejs未定义由cordova

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

# 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) 

好吧......通过检查的NodeJS变量:

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

一切似乎都很好... 好吧......编辑文件“家庭/用户/对myApp /platforms/android/cordova/lib/check_reqs.js“(从上面的错误中)加入下一行:

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.'); 
} 

结果是:

# 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. 

如何与和的NodeJS科尔多瓦解决这个问题?

回答

0

选项1

窗户

我的电脑上点右键 - >属性 - >高级系统设置 - >环境变量

现在在系统变量编辑路径;/yourSdkHome /工具/ youSdkHome /平台的工具。

选项2

在Windows机器,打开命令提示和输入每个的这个命令逐个

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

在MAC机,开放式终端并输入这些逐个

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

注 - C:\ android-sdk-windows应该被您的机器中Android SDK的路径所取代。

应该被您的机器中Android SDK的路径所取代。

在MAC机

,如果安装位置是〜/ ADT-束-MAC-x86_64的/ SDK

第一行应是

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

这就是所有完成的,问题的NodeJS! 系统中定义的ANDROID_HOME变量,但不能用js文件读取。 – user1356144