执行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时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cordova 插件进行 PhoneGap 构建

使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错

Cordova 与 PhoneGap Build 中的 config.xml 位置

带有 Phonegap Build 的 Cordova 插件白名单在 iOS 上不起作用

cordova - 启动画面和应用程序屏幕在 Phonegap Build cli-6.1.0 上不起作用

Firebase 推送通知与 PhoneGap Build 使用 cordova-plugin-fcm