适用于应用程序和单元测试的单独的Android Gradle Jvm版本

时间:2018-12-17 16:39:06

标签: android gradle kotlin

是否可以仅在Android应用程序的gradle中为单元测试设置jvmTarget = "1.8"?我正在使用:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    kotlinOptions {
        jvmTarget = "1.8"
    }
}

但是后来我在较旧的4.4设备上崩溃了...

1 个答案:

答案 0 :(得分:0)

是的,您只需为某个Kotlin编译任务设置jvmTarget即可做到这一点。

在Android项目中,单元测试通常由任务compileDebugUnitTestKotlincompileReleaseUnitTestKotlin等进行编译。您可以在IDE的Gradle视图中或通过运行以下命令找到Gradle任务的完整列表:

./gradlew tasks --all

搜索遵循compile*Kotlin模式的名称。

然后只需配置所需的单个任务,例如:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile)
    .matching { it.name == "compileDebugUnitTestKotlin" }
    .all { 
        kotlinOptions {
            jvmTarget = "1.8"
        }
    }