AndroidStudio 4+上的语言级别Java 8(Retrolambda)?

所以,有人将Java 8的Lambdas移回Java 6和7.显然,它也适用于Android。 该项目被称为Retrolambda 。 我想在AndroidStudio上玩这个游戏,但是在最近的版本中,他们已经删除了将Java 8设置为语言级别的能力(所以我在使用Lambdas时没有得到编译错误)。 有没有人知道这个方法? 我想这与AndroidStudio是一个修改过的IntelliJ的事实有关。 任何帮助,将不胜感激。

  • AndroidStudio 4+上的语言级别Java 8(Retrolambda)?
  • Listener可以replace为lambda
  • Android和Lambda
  • 在Kotlin中将接口作为parameter passing
  • Android Jack:来自jar文件的Lambda需要在类路径上编译接口,未知接口是java.util.function.Consumer
  • 当我使用lambda遍历String数组时NoClassDefFoundError
  • 它在新build项目中被删除,但是在项目创build后可以在属性中使用。 请注意,我还没有真正编译任何新的Java 8function,所以让我们希望工程。

    右键点击你的项目,进入打开模块设置。 我觉得有一个bug,因为一旦我离开这些语言设置选项卡,我永远不会回头。

    要解决这个问题,您可以编辑MyProject / .idea / misc.xml并查找languageLevel属性。

    要启动项目设置,请编辑MyProject / .idea / workspace.xml并searchproject.structure.last.edited。 将该值设置为“项目”。

    我发现你可以通过修改build.gradle将“语言级别”设置为Android Studio中的Java 8,以包含以下内容:

    android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }