【问题标题】:Apache Cordova Execution failed for task ':compileDebugJavaWithJavac'任务 ':compileDebugJavaWithJavac' 的 Apache Cordova 执行失败
【发布时间】:2016-07-06 11:12:38
【问题描述】:

在对 Android Studio 和 Apache Cordova 进行一些更新后,我的 Apache Cordova 项目没有构建。

我是 Apache Cordova、OS X 和 Android Studio 的新手。

在 Android Studio 中,当我重建项目时,我在 Gradle 控制台中收到以下错误。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

在终端中,当我运行命令cordova --version 时,它会打印出4.0.0which javac 会打印出/usr/bin/javac,但 echo $JAVA_HOME 什么也不打印(空行)。

更新:我正在终端中设置 JAVA_HOME 和 ANDROID_HOME 的路径,即使我遇到如下所示的相同错误,并且在关闭终端后 JAVA_HOME 和 ANDROID_HOME 环境变量丢失,我将它们设置为 @987654326 @和export ANDROID_HOME=/Users/apple/Library/Android/sdk

当我尝试从 Cordova CLI 构建项目时,它也无法正常工作。

我收到以下错误,好像我在更改 gradle-wrapper.properties 中的 distributionUrl 并将 buildToolsVersion 从“19.0.0”更改为“19.1.0”后创建了一个新项目,新项目工作正常。

请帮忙。

cordova 编译命令

Sreekanth-2:19:02:16 Sreekanth$ cordova compile
Running command: "/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/build" 
Buildfile: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml

BUILD FAILED
/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml:7: The following error occurred while executing this line:
java.io.FileNotFoundException: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:/usr/local/Cellar/ant/1.9.7/libexec/lib/ant.jar (No such file or directory)
    at java.io.RandomAccessFile.open0(Native Method)
    at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
    at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:212)
    at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:177)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:256)
    at org.apache.tools.ant.helper.ProjectHelper2.parseUnknownElement(ProjectHelper2.java:131)
    at org.apache.tools.ant.helper.ProjectHelper2.parseAntlibDescriptor(ProjectHelper2.java:111)
    at org.apache.tools.ant.taskdefs.Antlib.createAntlib(Antlib.java:94)
    at org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:425)
    at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:277)
    at org.apache.tools.ant.ComponentHelper.checkNamespace(ComponentHelper.java:874)
    at org.apache.tools.ant.ComponentHelper.getDefinition(ComponentHelper.java:307)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:284)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:263)
    at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:430)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:164)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:180)
    at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93)
    at org.apache.tools.ant.Main.runBuild(Main.java:829)
    at org.apache.tools.ant.Main.startAnt(Main.java:236)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)

Total time: 0 seconds

/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: debug,-f,/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/build: Command failed with exit code 1
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)

cordova 构建命令

Sreekanth-2:19:02:16 Sreekanth$ cordova build
Running command: "/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/build" 
Buildfile: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml

BUILD FAILED
/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml:7: The following error occurred while executing this line:
java.io.FileNotFoundException: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:/usr/local/Cellar/ant/1.9.7/libexec/lib/ant.jar (No such file or directory)
    at java.io.RandomAccessFile.open0(Native Method)
    at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
    at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
    at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:212)
    at org.apache.tools.zip.ZipFile.<init>(ZipFile.java:177)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:256)
    at org.apache.tools.ant.helper.ProjectHelper2.parseUnknownElement(ProjectHelper2.java:131)
    at org.apache.tools.ant.helper.ProjectHelper2.parseAntlibDescriptor(ProjectHelper2.java:111)
    at org.apache.tools.ant.taskdefs.Antlib.createAntlib(Antlib.java:94)
    at org.apache.tools.ant.taskdefs.Definer.loadAntlib(Definer.java:425)
    at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:277)
    at org.apache.tools.ant.ComponentHelper.checkNamespace(ComponentHelper.java:874)
    at org.apache.tools.ant.ComponentHelper.getDefinition(ComponentHelper.java:307)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:284)
    at org.apache.tools.ant.ComponentHelper.createComponent(ComponentHelper.java:263)
    at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:430)
    at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:164)
    at org.apache.tools.ant.Task.perform(Task.java:347)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:180)
    at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:93)
    at org.apache.tools.ant.Main.runBuild(Main.java:829)
    at org.apache.tools.ant.Main.startAnt(Main.java:236)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:285)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:112)

Total time: 0 seconds

/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/node_modules/q/q.js:126
                    throw e;
                          ^
Error code 1 for command: ant with args: debug,-f,/Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/build.xml,-Dout.dir=ant-build,-Dgen.absolute.dir=ant-gen
Error: /Users/apple/Desktop/Sreekanth/Togetherly Daily Work/19:02:16/platforms/android/cordova/build: Command failed with exit code 1
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:135:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
Sreekanth-2:19:02:16 Sreekanth$ 

【问题讨论】:

    标签: android cordova android-studio gradle cordova-cli


    【解决方案1】:

    转到 Project.Properties

    添加以下行

    cordova.system.library.1=com.google.android.gms:play-services-auth:9.8.0
    cordova.system.library.2=com.google.android.gms:play-services-identity:9.8.0
    

    再次运行cordova命令,您可以构建发布和调试构建

    【讨论】:

      【解决方案2】:

      在终端中输入以下内容

      echo "export JAVA_HOME=/usr/libexec/java_home"

      这将打印 Java_home 的确切导出,复制并将其粘贴到终端并按 Enter。

      然后尝试 echo $java_home。

      【讨论】:

      • 为什么实际上会发生错误?您的建议对您有什么帮助?
      • 而 $(command) 语法用于命令替换,即 /usr/libexec/java_home 将被执行并将其输出分配给 JAVA_HOME。
      • 我的 java home 也有这个问题,它帮助了我
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-18
      • 2022-12-08
      相关资源
      最近更新 更多