android - 使用Android Gradle Experimental插件时如何指定sourceCompatibility编译选项

标签 android android-gradle-plugin gradle-experimental retrolambda

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

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

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

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

但是,以上会导致 gradle sync 错误:

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

如何使用新的 Android Experimental 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
       }
    }
}

关于android - 使用Android Gradle Experimental插件时如何指定sourceCompatibility编译选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127015/

相关文章:

android - 尝试运行仪器测试时出现 "Unknown API level"错误

java - 设计股票应用程序需要一些建议

android - Android Gradle实验和RenderScript实现

android - 签名 apk 中的 ClassNotFoundException

Android Studio 插件太旧了

android - gradle experimental 通过 srcDir srcFile 指令包含文件目录

android - Gradle构建DeployApkTask.perform返回NullPointerException

Android:滑动屏幕打开另一个 Activity ?

android - 从 Google Glass 使用 Android 语音识别 API

android - 在 Android Studio 的项目 'keyStorePath' 上找不到属性 ':app'