【发布时间】:2013-12-18 01:10:23
【问题描述】:
我分别通过 npm install -g cordova 和 npm install -g phonegap 安装了 cordova e phonegap。然后我通过 cordova create HelloWorld mynamespace.helloworld HelloWorld 创建了一个 HelloWorld 应用程序。效果很好!然后我将工作目录更改为 HelloWorld,并尝试通过 cordova platform add android -d 为 android 构建应用程序,但没有成功。这是输出:
Installing cordova library for android...
Requesting {"uri":"https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=snapshot;h=3.3.0;sf=tgz"}...
Downloading cordova library for android...
Downloaded, unzipped and extracted 541065 byte response.
Download complete
Installing cordova library for android...
Checking if platform "android" passes minimum requirements...
Creating android project...
Running bin/create for platform "android" with command: ""C:\Users\marcos.pacheco\.cordova\lib\android\cordova\3.3.0\bin\create" "C:\Dev\HelloWorld\platforms\android" "mynamespace.helloworld" "HelloWorld"" (output to follow)
C:\Users\marcos.pacheco\AppData\Roaming\npm\node_modules\cordova\node_modules\q\q.js:126
throw e;
^
Error: An error occured during creation of android sub-project.
at C:\Users\marcos.pacheco\AppData\Roaming\npm\node_modules\cordova\src\platform.js:244:30
at exithandler (child_process.js:633:7)
at ChildProcess.errorhandler (child_process.js:649:5)
at ChildProcess.EventEmitter.emit (events.js:95:17)
at Process.ChildProcess._handle.onexit (child_process.js:787:12)
我用谷歌搜索并发现 whitespaces 存在一些问题,但我的项目位于 C:\Dev\HelloWorld 路径中,而我的 android sdk 位于 PATH 中,所以当我在 Windows 提示符下键入 adb 时,我会得到命令的帮助信息以及 Java 和 Ant。此外,我设置了 ANT_HOME、JAVA_HOME 和 ANDROID_HOME。我还删除了 %HOMEPATH% 目录中的 ** .cordova ** 文件夹并再次输入命令,但错误仍然存在。
可能出了什么问题?
【问题讨论】:
-
如果在命令行中输入“android”会发生什么?它是否会弹出 SDK 管理器并显示您已安装工具和平台工具?你能输入'android'然后Tools-->manage AVDs-->(如果没有的话,创建一个新的AVD)?你有没有将
node_modules目录添加到你的路径中? -
@MBillau 当我在提示符下键入 android 时,它显示以下消息:''xcopy' 未被识别为内部或外部命令、可运行程序或批处理文件。错误:SWT 文件夹“lib\x86_64”不存在。请设置 ANDROID_SWT 指向包含您平台的 swt.jar 的文件夹。'
-
嗯 XCOPY 肯定需要找到,因为很多 node.js 文件都在使用它。如果您键入“where xcopy”,如果安装了 xcopy,它应该打印出一个文件。如果您键入
xcopy并没有得到任何东西,您将需要从某个地方下载 xcopy.exe,然后将其添加到您的路径中。奇怪的是您没有安装 xcopy - 也许它以某种方式被删除或从未添加到您的 PATH 中。你能粘贴你的PATH变量吗? -
@MBillau 你说得对,xcopy 不在我的路径中。我刚刚将 %SystemRoot%\System32 添加到 PATH 中,它起作用了!现在,当我在提示符下键入 android 时,它会打开 SDK 管理器。
-
太好了,现在可以
cordova platform add android了吗?您可能需要通过 SDK 管理器创建 AVD。