android 插件{}脚本块中只允许id(String)、alias(Provider)或alias(Provider Convertible)方法调用

h6my8fg2  于 2023-02-20  发布在  Android
关注(0)|答案(2)|浏览(406)

我在plugins {}块中复制/粘贴了一些行后得到了这个错误,这些行添加了一些Kotlin特性,如下所示

id: 'kotlin-android'

然后我得到了标题错误
我检查了代码,但似乎没有问题

ohtdti5x

ohtdti5x1#

首先,Gradle构建脚本通常在Groovy(build.gradle)或Kotlin(build.gradle.kts)中定义。由于您使用的是单引号(Kotlin不允许非字符使用单引号),因此我假定您使用的是Groovy。
您遇到这个问题的原因是Groovy中的x: y语法通常会转换为在Java中创建一个Map

abc: "def"

(应与相同)

mapOf("abc" to "def")

虽然plugins块通常期望插件被定义为对idalias方法的调用:

plugins {
  id("java") // Include the built-in Java plugin
  alias(libs.plugins.example) // Include a plugin defined from a version catalog
  id("com.example.plugin") version "1.2.3" // Include a 3rd-party "com.example.plugin" plugin at version 1.2.3
}

请注意,在Groovy中,括号对于方法调用是可选的,因此您可能会在文档中看到它们被省略,或者在您的答案中提到:

plugins {
  id 'kotlin-android' // Note the missing parentheses, and Groovy allows for single-quotes to be used too
}

有关更多信息,请参见插件DSL文档。

9avjhtql

9avjhtql2#

我解决了从行中删除冒号的问题,如下所示:

id 'kotlin-android'

相关问题