执行phonegap命令cordova build时出错
Posted
技术标签:
【中文标题】执行phonegap命令cordova build时出错【英文标题】:Error executing phonegap command cordova build 【发布时间】:2014-03-19 22:34:12 【问题描述】:我正在执行命令“cordova build”(完成以上设置后,以这个链接Phonegap The Command-Line Interface为例)。 但是note.js返回这个错误:
根据平台“android”的默认值生成 config.xml 准备安卓项目 通过命令“cmd”/c 在平台“android”上编译应用程序 C:\Net\Phonegap\hello\platforms\android\cordova\build 错误:构建 android 项目时出错。执行“ant”debug -f “C:\Net\Phonegap\hello\platforms\android\build.xml”时出错: 构建失败 C:\Net\templates\Phonegap\android-sdk\tools\ant\build.xml:601:执行此行时出现以下错误: C:\Net\templates\Phonegap\android-sdk\tools\ant\build.xml:720:执行此行时出现以下错误: C:\Net\templates\Phonegap\android-sdk\tools\ant\build.xml:734:找不到javac编译器; com.sun.tools.javac.Main 不在类路径中。 也许 JAVA_HOME 不指向 JDK。 当前设置为“C:\Program Files\Java\jre7” 总时间:2 秒
在 ChildProcess。 (C:\Users\myuserpc\AppData\Roaming\npm\node_modules\cordova\src\compile.js:65:22) 在 ChildProcess.EventEmitter.emit (events.js:98:17) 在可能关闭 (child_process.js:743:16) 在套接字。 (child_process.js:956:11) 在 Socket.EventEmitter.emit (events.js:95:17) 在 Pipe.close (net.js:466:12)
我的 config.xml
<widget id="com.example.hello" version="0.0.1">
<name>HelloWorld</name>
<description>
A sample Apache Cordova application that responds to the deviceready event.
</description>
<author email="dev@callback.apache.org" href="http://phonegap.com">
Apache Cordova Team
</author>
<content src="index.html" />
<access origin="*" />
<preference name="Fullscreen" value="true" />
<preference name="WebViewBounce" value="true" />
<feature name="Device">
<param name="android-package" value="org.apache.cordova.device.Device" />
</feature>
还有我的 AndroidManifest.xml
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="com.example.hello" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|locale" android:label="@string/app_name" android:name="HelloWorld" android:theme="@android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
【问题讨论】:
您的问题是什么?Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre7"
我的问题是,配置中缺少什么让我执行命令“cordova build”。我的路径是这样的:
%JAVA_HOME%\bin;%ROAMING_HOME%\npm;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANT_HOME%\bin
JAVA_HOME -> C:\Program Files\Java\jre7
【参考方案1】:
您当前似乎已安装 Java 运行时环境 (JRE)。您需要 Java 开发工具包 (JDK)。你可以通过Oracle 来解决这个问题。您的路径似乎使用%JAVA_HOME%\bin
正确设置。我相信一旦你安装了 JDK,你的%JAVA_HOME%
环境变量就会变成类似于:C:\Program Files\Java\jdk1.7.0_52
的东西。当然版本号可能会略有不同。
【讨论】:
对了,我忘了注意我(校长)我只有JRE并将JAVA_HOME
分配给路径C:\Program Files\Java\jre7
以上是关于执行phonegap命令cordova build时出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错
Cordova 与 PhoneGap Build 中的 config.xml 位置
带有 Phonegap Build 的 Cordova 插件白名单在 iOS 上不起作用