如何修复 build.gradle?

Mor*_*zov 1 android build.gradle android-gradle-plugin

连接我的模块并在build.gradle接下来写:

plugins {
    id("org.jlleitschuh.gradle.ktlint")
    kotlin("jvm")
}

dependencies {
    compileOnly(kotlin("stdlib"))
    compileOnly(kotlin("reflect"))
    compileOnly(kotlin("script-runtime"))
    compileOnly("com.pinterest.ktlint:ktlint-core:0.34.2")
}
Run Code Online (Sandbox Code Playgroud)

并得到下一个错误:

启动失败:构建文件“/home/vadimm/AndroidStudioProjects/homework/target-list/custom_ktlint_rules/build.gradle”:3:插件{}脚本块中只允许调用 id(String) 方法

有关 plugins {} 块的信息,请参阅 https://docs.gradle.org/5.1.1/userguide/plugins.html#sec:plugins_block

@ 第 3 行,第 5 列。kotlin("jvm") ^

1 错误

也试过这样写: apply plugin: 'kotlin'

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

但它没有成功

Man*_*rma 17

我遇到过类似的问题。以下解决方案对我有用。祝你好运!!

plugins {
    kotlin("kapt")
    id("dagger.hilt.android.plugin")
}
Run Code Online (Sandbox Code Playgroud)

plugins {
  id("kotlin-kapt")
  id("dagger.hilt.android.plugin")          
}
Run Code Online (Sandbox Code Playgroud)


Ole*_*der 7

如果有人在尝试使用 Kotlin DSL 时遇到此错误并希望保留它:确保您的文件是build.gradle.kts,而不是build.gradle


Mor*_*zov 1

通过下一个解决方案解决:

apply plugin: 'kotlin'

dependencies {
    compileOnly("org.jetbrains.kotlin:kotlin-stdlib")
    compileOnly("org.jetbrains.kotlin:kotlin-reflect")
    compileOnly("org.jetbrains.kotlin:kotlin-script-runtime")
    compileOnly("com.pinterest.ktlint:ktlint-core:0.34.2")
}
Run Code Online (Sandbox Code Playgroud)

kotlin("jvm") 是 Gradle kotlin-dsl 语法。对于常见的 Gradle 语法,请使用 apply 插件: 'kotlin' kotlin("..") 也来自 Gradle kotlin-dsl