Eri*_*rik 6 android compiler-options gradle kotlin android-studio
在我的测试源中,我想使用一些实验性的 Kotlin 编译器功能,以便在 Android Studio 中看不到它们的 lint 警告和错误。例如,我想将以下 Kotlin 选项应用于所有测试源。
compileTestKotlin {
kotlinOptions {
freeCompilerArgs += [
'-Xopt-in=kotlin.time.ExperimentalTime',
'-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
]
}
}
Run Code Online (Sandbox Code Playgroud)
(来源)
这在 Android 项目中是行不通的,因为没有compileTestKotlin方法。根据kotlin-android Gradle 插件文档,应该可以在块中编译VariantName Kotlin afterEvaluate,例如:
afterEvaluate {
compileDebugUnitTestKotlin {
kotlinOptions {
freeCompilerArgs += [
'-Xopt-in=kotlin.time.ExperimentalTime',
'-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
(和类似compileReleaseUnitTestKotlin)
尽管这有效(构建和测试运行并顺利通过),但在 Android Studio 中似乎没有效果:实验性编译器功能的使用仍然标记有警告/错误。
如何为我的测试源启用这些编译器功能,以便 AS 识别和使用它们?
这对我在 Android Studio 4.2.2、AGP 版本 4.2.0、Kotlin 版本 1.5.10 上有效:
android {
testOptions {
kotlinOptions {
freeCompilerArgs += [
'-Xopt-in=kotlin.time.ExperimentalTime',
'-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1692 次 |
| 最近记录: |