java - 无法构建cordova项目

标签 java android cordova netbeans

我在 Windows 7 for Android 上设置 Cordova 工作环境时遇到问题。我使用 NetBeans 8 并遵循本指南:Link Here 新项目 -> Cordova -> Hello World 模板。

每当我尝试构建 Cordova 项目(在 NetBeans 中)时,我都会收到以下消息:

    BUILD FAILED
C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\build.xml:90: Cannot find C:\Users\Administrator\SkyDrive\Skolegang\Dataingeniør\Android\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml imported from C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\build.xml

Total time: 0 seconds

C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
Error code 1 for command: cmd with args: /s,/c,ant,debug,-f,C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\cordova\run.bat: Command failed with exit code 8
    at ChildProcess.whenDone (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:131: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)
Command finished with error code 8: C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\cordova\run.bat --emulator
C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\nbproject\build.xml:272: exec returned: 1
BUILD FAILED (total time: 47 seconds)

我已经用谷歌搜索了几个小时,但似乎找不到解决方案。有些人遇到了一些相同的错误(不完全相同,但相似),但解决方案对我不起作用。其中一个问题是关于 Java 8 和 1.9.0 以下的 ant 版本(我使用 Node 0.10.26、java 1.7.0_25、cordova 3.5.0-0.2.4 和 ant 1.9.4)。我还尝试使用控制台(CMD)创建一个新项目,但在构建时它给出了完全相同的错误。创建项目没有问题,添加Android作为平台也没有问题,问题在于构建项目。我认为环境变量设置正确,因为 java、node、ant 和 cordova 命令在 cmd/powershell 中工作正常,并且 check_reqs.bat说环境不错。

正是这一行产生了错误:<import file="${sdk.dir}/tools/ant/build.xml" /> 。这是消息的其余部分:Cannot find C:\Users\Administrator\SkyDrive\Skolegang\Dataingeniør\Android\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml imported from C:\Users\Administrator\Documents\NetBeansProjects\HTML5Application2\platforms\android\build.xml.

这是我在命令窗口中收到的错误(未使用 NetBeans):

PS C:\Users\Administrator\Desktop\test\fakeApp> cordova 构建 android

Running command: C:\Users\Administrator\Desktop\test\fakeApp\platforms\android\cordova\build.bat
Buildfile: C:\Users\Administrator\Desktop\test\fakeApp\platforms\android\build.xml

BUILD FAILED
C:\Users\Administrator\Desktop\test\fakeApp\platforms\android\build.xml:90: Cannot find C:\Users\Administrator\SkyDrive\
Skolegang\Dataingeni├©r\Android\adt-bundle-windows-x86_64-20130729\sdk\tools\ant\build.xml imported from C:\Users\Admini
strator\Desktop\test\fakeApp\platforms\android\build.xml

Total time: 0 seconds
Error code 1 for command: cmd with args: /s,/c,ant,debug,-f,C:\Users\Administrator\Desktop\test\fakeApp\platforms\androi
d\build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: C:\Users\Administrator\Desktop\test\fakeApp\platforms\android\cordova\build.bat: Command failed with exit code 2
    at ChildProcess.whenDone (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\s
rc\cordova\superspawn.js:131: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)

我认为这可能是一个路径问题,因为我在存储 NetBeansProjects 的路径中有一个特殊的字母(而且它也很长),但在 C:\中创建一个测试目录并使用命令窗口创建项目给出了同样的错误。我是 Cordova 的新人,所以我确信有一个简单的解决方案,提前致谢。

最佳答案

我解决了这个问题,虽然我尝试在 OneDrive 文件夹之外创建一个 cordova 项目,但我没有想到 SDK 路径(也存储在 OneDrive 中)。通过将 SDK 文件移动到 C:(该路径可能不包含特殊字母“ø”)并更改环境变量的路径(以及 NetBeans 中的 SDK 路径),它现在可以完美运行。

关于java - 无法构建cordova项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24182550/

相关文章:

java - Play 2.3 验证 Json 请求体

java - 调用removeAllViews();仍然导致 IllegalStateException :You must call removeView() on the child's parent first

android - 自定义 ArrayList 适配器 - 在 ActionBar 列表中显示图标

java - 华为设备上的文本对齐问题

cordova - 使用 ionic 框架从设备检索设备 token

html - PhoneGap 索引页

java - 从一个toggleGroup javafx 返回实际值

java - 比较数组中的元素

java - 从远程 ftp 服务器提取文件内容,而不写入本地磁盘中的文件

android - build.phonegap.com 是否有任何开源替代品?