Gradle插件kotlin与kotlin-android的区别是什么?
Kotlin与kotlin-android Gradle插件的官方定义差异
适用范围差异
kotlin是面向纯JVM生态的通用Kotlin编译插件- 仅可搭配标准JVM类Gradle插件使用,包括
java、java-library,支持所有非Android的JVM项目(后端服务、纯Java/Kotlin工具库等) - 仅提供Kotlin代码转JVM字节码的基础编译能力,不会处理任何平台专属逻辑
- 仅可搭配标准JVM类Gradle插件使用,包括
kotlin-android是面向Android生态的专属Kotlin编译插件- 仅可搭配Android官方Gradle插件使用,包括
com.android.application(应用模块)、com.android.library(AAR库模块),和纯JVM的java-library完全不兼容,这就是你在java-library模块引入该插件会报错的核心原因 - 除基础Kotlin编译能力外,额外适配了Android构建全流程特性:包括构建变体(debug/release、多渠道)的独立Kotlin编译配置、Android资源与Kotlin代码的绑定、Compose编译支持等Android场景特有的能力
- 仅可搭配Android官方Gradle插件使用,包括
使用选择建议
如果是Android平台项目,必须使用kotlin-android插件,不要混用纯kotlin插件——即便部分场景下二者同时配置不会立刻报错,但缺失Android适配逻辑会导致后续很多特性(比如Kotlin选项的变体维度配置、Compose编译)出现无提示的编译异常。
如果是纯JVM项目,仅使用kotlin插件即可。
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

