【发布时间】:2023-04-05 15:42:01
【问题描述】:
我喜欢将explicit API mode 应用于this Android project 中的所有模块除了 应用于app 模块。通过将以下配置添加到每个模块的 build.gradle 文件中,这可以正常工作。
// build.gradle of a module
kotlin {
explicitApi()
}
我喜欢避免重复声明。因此,我的目标是在 project root 中的 build.gradle 文件中配置它。我尝试了以下方法:
// build.gradle in project root
allprojects {
apply plugin: "kotlin"
kotlin {
if (project.name != "app") {
explicitApi()
}
}
}
这与模块中的插件定义冲突:
原因:org.gradle.api.internal.plugins.PluginApplicationException:无法应用插件“kotlin-android”。
原因:java.lang.IllegalArgumentException:无法添加名为“kotlin”的扩展,因为已经使用该名称注册了一个扩展。
原因:com.android.build.gradle.internal.BadPluginException:“java”插件已应用,但与Android插件不兼容。
相关
【问题讨论】:
标签: android kotlin gradle groovy kotlin-gradle-plugin