使用 Android Gradle 实验插件时如何指定 sourceCompatibility 编译选项

How to specify sourceCompatibility compile options when using the Android Gradle Experimental plugin

我目前正在我的一个应用程序中使用 Android Gradle 实验插件,我希望能够使用 retrolambda 库。要求之一是指定一些 compileOptions。在正常的 android 构建插件中,这有效:

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

对于新的实验插件,我在 model.android 下添加了这个:

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

但是,上述结果导致 gradle 同步错误:

Gradle 'ApkTestRunner' project refresh failed
Error:Cause: com.android.build.gradle.managed.AndroidConfig$Impl

如何使用新的 Android 实验性 Gradle 插件设置 sourceCompatibility 和 targetCompatibility?

谢谢。

一定是这样的:

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.1"
        compileOptions.encoding = 'windows-1251'

       compileOptions.with {
         sourceCompatibility = JavaVersion.VERSION_1_6
         targetCompatibility = JavaVersion.VERSION_1_6
       }
    }
}