未找到 Gradle DSL 方法:'kapt()'

Posted

技术标签:

【中文标题】未找到 Gradle DSL 方法:\'kapt()\'【英文标题】:Gradle DSL method not found: 'kapt()'未找到 Gradle DSL 方法:'kapt()' 【发布时间】:2019-09-29 17:03:26 【问题描述】:

未找到 Gradle DSL 方法:'kapt()' 可能的原因: 项目“jetpacklearn”可能正在使用不包含该方法的 android Gradle 插件版本(例如,在 1.1.0 中添加了“testCompile”)。 升级插件到 3.4.0 版本并同步项目

项目“jetpacklearn”可能正在使用不包含该方法的 Gradle 版本。 打开 Gradle 包装文件

我的 gradleVersion 是 '3.4.0',但无法处理,问我同样的问题

    classpath "com.android.tools.build:gradle:$gradleVersion"
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"

【问题讨论】:

为什么会被否决?这是一个有效的问题,您按照官方 Android 文档会遇到此错误消息。更重要的是,错误消息中的内置建议令人困惑和错误(谈到升级到 Gradle 1.0 时我们在 3.x 版本上)。 【参考方案1】:

检查您的应用 build.gradle 中是否包含此内容?

apply plugin: 'kotlin-kapt'

【讨论】:

Android 的官方文档告诉我在 depedencies 中使用 kapt,但从未提及这一点。谷歌干得好。【参考方案2】:

添加这一行

apply plugin: 'kotlin-kapt'

如果您在 android 库 中使用了 kapt,则必须在您的项目中添加 kotlin-android 插件

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

【讨论】:

非常感谢。这是我的问题。即使是关于 Hilt 入门的 Android 文档也没有提到这一点。 developer.android.com/training/dependency-injection/…【参考方案3】:

只需在应用级别的 build.grale 中添加这一行:

apply plugin: 'kotlin-kapt'

注意:在 apply plugin: 'com.android.application'

【讨论】:

【参考方案4】:

将此添加到您的 build.gradle 中,然后再次同步 gradle。

应用插件:'kotlin-kapt'

【讨论】:

【参考方案5】:

你的 build.Gradle 文件应该在顶部有这些

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

【讨论】:

【参考方案6】:

在您的应用级 build.gradle 中应用以下插件。

apply plugin: 'kotlin-kapt'

【讨论】:

【参考方案7】:

https://***.com/a/56101024/6007104的答案绝对正确。

但是,对于使用 gradle plugins 块的人来说,它看起来像这样:

plugins 
    id('kotlin-kapt')

【讨论】:

【参考方案8】:

这是因为您在应用级 gradle 中缺少 apply 'kotlin-kapt'。 有两种方法可以添加这个插件。

如果您的项目有插件块。请在下面添加。

plugins 
    ...
    ...
    id 'kotlin-kapt'

或者您可以使用 apply 关键字添加。

apply plugin: 'kotlin-kapt'

【讨论】:

以上是关于未找到 Gradle DSL 方法:'kapt()'的主要内容,如果未能解决你的问题,请参考以下文章

Gadle 同步错误:未找到 Gradle DSL 方法:'implementation()'

错误:(6, 0) 未找到 Gradle DSL 方法:“google()”

错误:未找到Gradle DSL方法:'implimentation()'

Android Studio 2.0:未找到 Gradle DSL 方法:'classpath()' error(27,0)

在 buildSrc 中定义的 Gradle Kotlin DSL 未解析的引用

如何从命令行(使用 kotlinc)使用 kapt?