我喜欢将显式 API 模式应用于此 Android 项目 中的所有模块,但模块除外app
。通过将以下配置添加到每个模块的build.gradle文件中,这可以正常工作。
// build.gradle of a module
kotlin {
explicitApi()
}
但是,我喜欢避免重复声明。因此,我的目标是在项目根目录中的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 插件不兼容。