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

spi*_*ce7 17 lambda android android-studio

因此,有人将用于Java 8的Lambdas反向回Java 6和7.显然它也适用于Android.该项目名为Retrolambda.我想在AndroidStudio上玩这个,但在最近的版本中它们似乎已经删除了将Java 8设置为语言级别的能力(因此我在使用Lambdas时不会遇到编译错误).有没有人知道这方面的方法?我想这与AndroidStudio是一个改进的IntelliJ这一事实有关.任何帮助,将不胜感激.

Jas*_*ele 46

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

android {
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 如果我的模块不是android项目,会发生什么?我不能在那里使用这个解决方案. (4认同)

joe*_*joe 6

它在新项目中删除,但在项目创建后可在属性中使用.请注意,我还没有实际编译任何新的Java 8功能,所以让我们希望它有效.

右键单击您的项目,转到"打开模块设置".我认为某处有一个错误,因为一旦我离开那些语言设置标签,我就永远无法回到它.

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

要在导航后启用项目设置,请编辑MyProject/.idea/workspace.xml并搜索project.structure.last.edited.将值设置为"Project".