【发布时间】:2020-07-13 19:14:44
【问题描述】:
我收到错误消息“已应用 Hilt Android Gradle 插件,但未找到 com.google.dagger:hilt-android-compiler 依赖项。”在构建项目时。
以下是我在项目中添加刀柄的方式。
【问题讨论】:
标签: android gradle dagger-hilt
我收到错误消息“已应用 Hilt Android Gradle 插件,但未找到 com.google.dagger:hilt-android-compiler 依赖项。”在构建项目时。
以下是我在项目中添加刀柄的方式。
【问题讨论】:
标签: android gradle dagger-hilt
我猜你错过了这个依赖
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 替换 kapt 为 annotationProcessor
【讨论】:
androidProcessors 告诉的依赖项,但之后我发现 Gradle DSL 方法未找到:androidProcessors()。所以用annotationProcessor 替换androidProcessors 对我有用。谢谢。
如果您使用此编译器依赖项:
"com.google.dagger:hilt-compiler:$hilt_version"
只需将其更改为:
"com.google.dagger:hilt-android-compiler:$hilt_version"
【讨论】:
保持原样,
应用插件:'kotlin-kapt' 或插件 { id 'kotlin-kapt' }
这将解决您的问题
【讨论】:
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'
}
}
无论我们应用多少插件,如果没有应用下面的依赖,就会报错
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"
}
【讨论】:
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")
【讨论】: