应用了Hilt Android Gradle插件,但未找到com.google.dagger:hilt-android-compiler依赖项

23c0lvtd  于 2022-11-14  发布在  Android
关注(0)|答案(8)|浏览(967)

在构建项目时,我收到错误消息“应用了Hilt Android Gradle插件,但未找到com.google.dagger:hilt-android-compiler依赖项。”
下面是我如何在我的项目中添加剑柄。

qv7cva1a

qv7cva1a1#

我猜你错过了这种依赖
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"

  • 首先添加插件

apply plugin: 'dagger.hilt.android.plugin'

  • 其次添加依赖项
// Dagger Core
implementation "com.google.dagger:dagger:2.37"
kapt "com.google.dagger:dagger-compiler:2.37"

// Dagger Android
api 'com.google.dagger:dagger-android:2.37'
api 'com.google.dagger:dagger-android-support:2.37'
kapt 'com.google.dagger:dagger-android-processor:2.37'

// Dagger - Hilt
implementation "com.google.dagger:hilt-android:2.37"
kapt "com.google.dagger:hilt-android-compiler:2.37"
  • 第三步,添加类路径

classpath "com.google.dagger:hilt-android-gradle-plugin:2.28-alpha"
PS:如果你使用java,用annotationProcessor替换kapt

hgtggwj0

hgtggwj02#

如果使用此编译器依赖项:

"com.google.dagger:hilt-compiler:$hilt_version"

只需将其更改为:

"com.google.dagger:hilt-android-compiler:$hilt_version"
f3temu5u

f3temu5u3#

我的问题是,当我尝试使用新的Gradle语法id 'pluginId' version 'pluginVersion»' [apply false]将Hilt依赖项添加到项目中的根build.gradle时,使用了不正确的依赖项语法
而不是

buildscript {
    ...
    dependencies {
        ....
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.41'
    }
}

我以前

plugins {
    ...
    id 'com.google.dagger.hilt.android' version '2.41' apply false
}
pkbketx9

pkbketx94#

保持原样,
apply plugin: 'kotlin-kapt'

plugins {
    id 'kotlin-kapt'
}

这将解决您的问题

drkbr07n

drkbr07n5#

构建.gradle(项目)

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.0.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.dagger:hilt-android-gradle-plugin:2.38.1'
    }
}

无论我们如何应用插件,如果没有应用以下依赖项,就会出现错误

build.gradle(:应用程序)

plugins {
    ...
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
}

dependencies {
    implementation "com.google.dagger:hilt-android:2.28-alpha"
    kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
}
ha5z0ras

ha5z0ras6#

在我遇到的某些情况下,我在一个工作站中有一个正在运行的项目,但当我在另一台计算机中 checkout 时,它会带来这个问题。
这是因为应用了hilt android插件,但是获取依赖项还没有到达下载编译器依赖项的部分。
一个简单的修复方法是注解掉id(BuildPlugins.hiltPlugin),如果您使用的是plugins{}apply plugin BuildPlugins.hiltPlugin,请尝试再次同步,然后一旦您成功构建(有刀柄问题-但所需的依赖项已经下载),您就可以取消注解该行并同步。
注意:在本例中,BuildPlugins是一个保存插件定义的对象。

bweufnob

bweufnob7#

O通过添加以下依赖项解决了我的问题

// Dagger & Hilt
implementation("com.google.dagger:hilt-android:2.40")
kapt("com.google.dagger:hilt-android-compiler:2.40")
implementation("androidx.hilt:hilt-common:1.0.0")
kapt("androidx.hilt:hilt-compiler:1.0.0")
implementation("androidx.hilt:hilt-navigation-fragment:1.0.0")
implementation("androidx.hilt:hilt-work:1.0.0")
3phpmpom

3phpmpom8#

大家好!我今天遇到了这个问题,如果你已经添加了所有正确的插件和依赖项,但你仍然得到一个错误,好吧--这是Hilt gradle插件中的一个bug,不是你的错,只是注解你的Hilt实现,重建你的项目,并在成功构建后取消注解你的实现!

相关问题