Phonegap - 为Android构建 -> 找不到类:javac1.8

5

我已经尝试了两天来解决我在phonegap/cordova中遇到的问题。

在Mac上工作,我可以为iOS构建应用。但每次尝试为Android构建时,我都会遇到这个错误:

BUILD FAILED
/Users/m/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:601: The following error occurred while executing this line:
/Users/m/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:720: The following error occurred while executing this line:
/Users/m/Documents/adt-bundle-mac-x86_64-20131030/sdk/tools/ant/build.xml:734: Class not found: javac1.8

任何帮助都是很棒的!! 没有任何在线资源可以提供帮助!

1
请检查此链接:https://dev59.com/VmEh5IYBdhLWcg3wWySr?rq=1 - raghu
1
可能是Eclipse和Ant: javac1.8类未找到的重复问题。这似乎是由于Ant与Java 8不兼容。您需要使用Java 7。 - jww
1
是的,我不得不删除所有内容并重新安装Java 1.6,以便帮助其他人解决问题... - SirJoeyMichaels
只需要在build.xml中更改为Java 8即可,查看下面的答案。无需更改您的Java或Ant版本! - Wagner Leonardi
2个回答

0

易于解决,看错误信息:

.../sdk/tools/ant/build.xml:734: 找不到类:javac1.8

打开这个文件,在第734行找到 fork="${need.javac.fork}">。什么是need.javac.fork?我不知道,但让我们在文档中搜索,我们在第199行找到了它:

<condition else="false" property="need.javac.fork">
      <and>
          <matches pattern="1\.[56]" string="${java.specification.version}"/>
          <not>
              <os family="unix"/>
          </not>
      </and>
  </condition>

哇,pattern="1\.[56]"??看起来这个模式是关于Java 1.5和1.6的,如果我把它改成pattern="1\.[8]"呢?现在它将会构建并且像魔法一样工作!!!

有些人说这是因为ant版本过旧,不支持Java 8...或者你需要安装Java 1.6...是的,这样做也可以解决问题,但我们程序员需要阅读错误信息,并且至少有点好奇心去理解和尝试解决问题,我花了一两分钟的时间找到并解决了这个问题...只是通过阅读错误信息!


0

我曾经遇到过同样的问题,虽然这个问题已经很老了,但如果你感到好奇,我解决了这个问题,通过将构建文件更改为使用Java 8进行构建。 - Wagner Leonardi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接