2016-04-14 63 views
-3

我使用eclipse开发android.My eclipse版本是MARS 4.5.2.I试图用JAVA8编译android N,但是当我将jdk改为1.8时。发生错误eclipse mars不支持java8

Android需要编译器合规性级别5.0或6.0。取而代之的是“1.8”。

任何帮助将不胜感激。

我必须使用JDK1.8构建项目。所以我不应该将jdk更改为1.6或1.7。因为android N需要jdk 1.8来编译。 我在Windows上用jdk 1.8成功编译了android N projcet。 但我不能编译它在MAC上

+5

的可能的复制[Android需要编译器符合性级别5.0或6.0。取而代之的是“1.7”。请使用Android工具>修复项目属性](http://stackoverflow.com/questions/7637144/android-requires-compiler-compliance-level-5-0-or-6-0-found-1-7-instead-请求) –

+1

这不是Eclipse支持Java 8,但支持Java 8的Android的问题。 –

+0

@KevinCruijssen我不能使用1.7,因为只有1.8可以编译android N项目 – chefish

回答

1

基本上,问题是,你不能编译Android的Java 8源代码。

  • 如果您必须使用Java 8代码,则无法在Android上运行它。

  • 如果您必须在Android上运行,则无法使用Java 8代码。

这不是你的IDE的问题。 Eclipse Mars >> < <支持Java 8.它只是具有Android工具链的Mars没有。因为Android工具链本身不支持Java 8。

真正的问题是Android >>平台< <不支持对Java 8字节码进行分类,并且不提供与Java 8兼容的运行时库。


反思,也许我错误地解释了你的问题。也许问题是你不能让Eclipse为Java 5/Java 6编译......因为你没有提供Java 5或Java 6 JRE/JDK来编译。


我发现(here)认为Android SDKň工具链支持Android工作室,没有在Eclipse任何支持的迹象。实际上,Android N预览的Getting Started页面表示您需要Android Studio 2.1。因此

我的建议是使用Android 2.x的工作室为你的Android应用程序的开发,无论是经典的Android和Android N.

不要尝试使用Eclipse的Android N.

+0

但我可以在Windows上成功使用它。它只有在mac – chefish

+0

我没有使用JAVA 8代码的问题。我只想编译Android N – chefish

+1

1)我很怀疑它。您很可能会使用较早的合规性级别进行编译。 2)如果您不使用Java 8代码,请不要使用Java 8合规性级别进行编译。编译支持的合规性级别! –