未找到 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)