首页 > 解决方案 > 如何摆脱 Kotlin DSL 警告

问题描述

我最近才开始学习KotlinDSL。并在Android添加buildSrc. 在这个文件夹中,我有模块插件:AppModulePlugin, CommonModulePlugin, FeatureModulePlugin. 所有这些都编译并且应用程序安装正确,一切都很好。但在这些文件中会显示警告:

Cannot access 'com.android.build.gradle.internal.dsl.Lockable' 
which is a supertype of 'com.android.build.gradle.BaseExtension'. 
Check your module classpath for missing or conflicting dependencies

请告诉我如何摆脱这些警告?

在此处输入图像描述

标签: androidkotlingradle-kotlin-dslbuildsrc

解决方案


不幸的是,IntelliJ 几个月来一直有这个问题 - 它报告正确的代码是无效的。见KTIJ-3769。我相信这取决于票KTIJ-19669

作为一种解决方法,您可以将插件引入的辅助方法替换为“普通”Gradle Kotlin

// androidExtension { }

project.extensions.configure<BaseExtension> { 
  
}

或者只在 Kotlin(文件)中创建 buildSrc 插件*.kt,而不是 Kotlin 脚本(*.kts文件)。这需要使用java-gradle-plugin和定义插件buildSrc/build.gradle.kts


推荐阅读