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

hop*_*pia 5 android android-gradle-plugin retrolambda gradle-experimental

我目前正在其中一个应用程序中使用Android Gradle Experiment插件,并且希望能够使用retrolambda库。要求之一是指定一些compileOptions。在普通的android build插件中,这有效:

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

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

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

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

Gradle 'ApkTestRunner' project refresh failed
Error:Cause: com.android.build.gradle.managed.AndroidConfig$Impl
Run Code Online (Sandbox Code Playgroud)

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

谢谢。

小智 5

必须是这样的:

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

       compileOptions.with {
         sourceCompatibility = JavaVersion.VERSION_1_6
         targetCompatibility = JavaVersion.VERSION_1_6
       }
    }
}
Run Code Online (Sandbox Code Playgroud)