无法添加名称为“kotlin”的扩展,因为已经有一个使用该名称注册的扩展

eri*_*icn 6 android gradle kotlin gradle-plugin gradle-kotlin-dsl

两个 Gradle 插件都给了我这个错误:

构建.gradle.kts

plugins {
    id("kotlin")
    kotlin("android")
}
Run Code Online (Sandbox Code Playgroud)

两者都可以

为什么?

它们是同一件事吗?

我知道kotlin("android")实际上是id("org.jetbrains.kotlin.android")来自 /gradle-6.0.1/src/kotlin-dsl/org/gradle/kotlin/dsl/KotlinDependencyExtensions.kt 的源代码

但我一无所知id("kotlin")

An exception occurred applying plugin request [id: 'org.jetbrains.kotlin.android']
> Failed to apply plugin [id 'org.jetbrains.kotlin.android']
   > Cannot add extension with name 'kotlin', as there is an extension already registered with that name.
Run Code Online (Sandbox Code Playgroud)

Shw*_*han 2

build.gradle中我们像这样使用它:

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
Run Code Online (Sandbox Code Playgroud)

build.gradle.kts中应该是:

plugins {  
  id("kotlin-android") 
  id("kotlin-android-extensions")  
}
Run Code Online (Sandbox Code Playgroud)