Updated the hooks directory to have execute permissions
running cordova build android
Running command: "C:\Program Files\nodejs\node.exe" F:\ionic\myApp\hooks\after_prepare\010_add_platform_class.js F:\ionic\myApp
add to body class: platform-android
Running command: F:\ionic\myApp\platforms\android\cordova\build.bat
ERROR building one of the platforms: Error: F:\ionic\myApp\platforms\android\cordova\build.bat: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: F:\ionic\myApp\platforms\android\cordova\build.bat: Command failed with exit code 2
at ChildProcess.whenDone (C:\Users\svkaushik17\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:131:23)
at ChildProcess.emit (events.js:98:17)
at maybeClose (child_process.js:766:16)
at Process.ChildProcess._handle.onexit (child_process.js:833:5)
如果我需要安装任何依赖项来构建应用程序,请告诉我。
我在Ionic网站上构建应用程序。
$ ionic platform add android
$ ionic build android
我也安装了AVD Manager。
答案 0 :(得分:0)
您在安装过程中错过了这部分依赖项(Windows上的Java Ant& Android)。
可在此处找到:http://ionicframework.com/docs/guide/installation.html
为Android开发的Windows用户:您需要确保自己 安装并设置以下内容。
注意:每当您对PATH或任何其他环境变量进行更改时,您都需要重新启动或打开 用于PATH更改的shell程序生效。
Java JDK
安装最新的Java JDK(不仅仅是JRE)。
接下来,为JAVA_HOME创建一个环境变量,指向安装Java JDK的根文件夹。所以,如果你安装了 JDK进入C:\ Program Files \ Java \ jdk7,将JAVA_HOME设置为此路径。 之后,将JDK的bin目录添加到PATH变量中。 按照先前的假设,这应该是 %JAVA_HOME%\ bin或完整路径C:\ Program Files \ Java \ jdk7 \ bin
Apache Ant
要安装Ant,请从此处下载zip文件,将其解压缩,将zip中的第一个文件夹移动到安全的位置,然后将PATH更新为 在该文件夹中包含bin文件夹。例如,如果你移动了 Ant文件夹到c:/,你想将它添加到你的PATH: C:\阿帕奇-ANT-1.9.2 \ bin中
Android SDK
安装Android SDK也是必要的。 Android SDK为您提供构建所需的API库和开发人员工具, 测试和调试Android应用程序。
Cordova需要设置ANDROID_HOME环境变量。这应该指向[ANDROID_SDK_DIR] \ android-sdk目录(for 例如c:\ android \ android-sdk)。
接下来,更新您的PATH以在该文件夹中包含tools /和platform-tools /文件夹。因此,使用ANDROID_HOME,您可以添加两者 %ANDROID_HOME%\ tools和%ANDROID_HOME%\ platform-tools。
答案 1 :(得分:0)
确保没有安装2个版本的JDK。如果您安装了2个版本,请尝试将JAVA_HOME指向可能解决该问题的C:\ Program Files \版本。此外,cordova正在检查javac而不仅仅是java -version,因此请从命令行尝试javac并检查它是否有效。