我已经阅读了相同问题的所有问题,并且尝试了所有方法,但是当我尝试为cordova添加android平台时,没有任何工作对我有用。
c:\Apps\fapp>cordova platform add android
Creating android project...
C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.js:126
throw e;
^
Error: An error occurred while listing Android targets
at C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\lib\check_reqs.js:
87:29
at _rejected (C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node_mo
dules\q\q.js:808:24)
at C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.j
s:834:30
at Promise.when (C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node
_modules\q\q.js:1079:31)
at Promise.promise.promiseDispatch (C:\Users\Andrej\.cordova\lib\android\cor
dova\3.4.0\bin\node_modules\q\q.js:752:41)
at C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node_modules\q\q.j
s:574:44
at flush (C:\Users\Andrej\.cordova\lib\android\cordova\3.4.0\bin\node_module
s\q\q.js:108:17)
at process._tickCallback (node.js:415:13)
Error: cmd: Command failed with exit code 8
at ChildProcess.whenDone (C:\Users\Andrej\AppData\Roaming\npm\node_modules\c
ordova\src\superspawn.js:112: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)
我真的尽了一切,但一直抛出这个问题。
编辑:
最终解决方案
我遇到了同样的问题,并通过设置以下环境变量解决了该问题:
%JAVA_HOME%
指向您的Java安装目录的根目录(不是bin目录)。在我的计算机上是:C:\Program Files\Java\jdk1.8.0
。要测试其配置是否正确,请打开一个新终端,然后键入javac
。它应该运行Java编译器,并且不应抱怨它不知道该命令。请注意,仅在打开新终端时(至少在Windows上)才设置环境变量,因此每次更改内容时都必须打开新终端。
%ANT_HOME%
指向您安装Apache ant的根目录。在我的计算机上是:C:\Users\User\apache-ant-1.9.3
。通过运行ant
命令进行测试。它不应该抱怨您的计算机不知道ant命令。记住在设置路径后打开一个新终端,然后尝试运行ant。
%ANDROID_HOME%
指向您已安装android SDK的位置。例如:C:\Users\User\android\sdk
。然后尝试输入emulator
以确保正确安装。
设置完所有这些变量后,可以在PATH环境变量中使用它们:
%PATH%
包含以下条目: %ANT_HOME%\bin;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin
在Windows 8上,您可以通过右键单击“开始”按钮,选择“系统”,然后选择“高级系统设置”并单击“环境变量”按钮来配置路径和变量。请记住在PATH上方定义上述环境变量。我在用户变量中定义了所有内容,并且一切正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句