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

标签 android gradle kotlin

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

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

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

最佳答案

是的,您可以通过为某个 Kotlin 编译任务设置 jvmTarget 来做到这一点。

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

./gradlew tasks --all

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

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

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

关于android - 用于应用程序和单元测试的独立 Android Gradle Jvm 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53819462/

相关文章:

gradle - groovy block 注释和字符串中的特殊字符

arrays - Kotlin 中二维数组的展平迭代器

java - 如何使用分水岭改进图像分割?

android - 为什么我的 Admob 奖励视频广告一次又一次加载失败?

android - 使用 Admob 的 ConfigChanges 在 AndroidManifest.xml 中声明的 AdActivity

java - 是否有扩展/重写私有(private)类/方法的替代方案?

android - Xamarin 安卓 :Load Image from Localpath On RecyclerView

android - 禁用特定项目的 RecyclerView itemAnimator

gradle - 使用 Gradle 将 zip 文件依赖项提取到单独的目录中

gradle - 将多模块 Gradle 库打包到单个模块中