如何修复 build.gradle?

How fix build.gradle?

连接我的模块并在 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")
}

并得到下一个错误:

startup failed: build file '/home/vadimm/AndroidStudioProjects/homework/target-list/custom_ktlint_rules/build.gradle': 3: only id(String) method calls allowed in plugins {} script block

See https://docs.gradle.org/5.1.1/userguide/plugins.html#sec:plugins_block for information on the plugins {} block

@ line 3, column 5. kotlin("jvm") ^

1 error

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

plugins {
    id 'kotlin'
}

但是没有成功

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

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")
}

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

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

I have faced similar issue. Following solution works for me. Good Luck!!

plugins {
    kotlin("kapt")
    id("dagger.hilt.android.plugin")
}

plugins {
  id("kotlin-kapt")
  id("dagger.hilt.android.plugin")          
}