error: cannot find symbol | class ApplicationComponent
error: cannot find symbol | class ApplicationComponent
我正在尝试在我的项目中使用 Hilt 注入。我将依赖项添加到我的 build.gradle 文件中,然后我创建了基础应用程序 class,这个 class 继承自 Applcication() 并且我用 @HiltAndroidApp 对其进行了注释。完成此操作后,我继续为 Hilt 重建项目以生成文件,但它给了我这个错误。
D:\AndroidStudioProjects\testing\app\build\generated\source\kapt\debug\com\example\testing\BaseApplication_GeneratedInjector.java:4: error: cannot find symbol
import dagger.hilt.android.components.ApplicationComponent;
^
symbol: class ApplicationComponent
location: package dagger.hilt.android.componentsD:\AndroidStudioProjects\testing\app\build\generated\source\kapt\debug\com\example\testing\BaseApplication_GeneratedInjector.java:12: error: cannot find symbol
我的 build.gradle 文件:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'dagger.hilt.android.plugin'
id 'kotlin-kapt'
}
...
implementation "com.google.dagger:dagger:2.31"
kapt "com.google.dagger:dagger-compiler:2.28"
// Dagger Android
api 'com.google.dagger:dagger-android:2.28.1'
api 'com.google.dagger:dagger-android-support:2.28.1'
kapt 'com.google.dagger:dagger-android-processor:2.23.2'
implementation "com.google.dagger:hilt-android:2.31-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0-alpha03"
我的build.gradle(项目名称)
dependencies {
classpath "com.android.tools.build:gradle:4.1.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.28-alpha"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
我的基础应用程序class:
package com.example.testing
import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class BaseApplication: Application() {
}
将您的匕首柄依赖项升级到相同版本。
你项目的根gradle文件
classpath "com.google.dagger:hilt-android-gradle-plugin:2.31.2-alpha"
你的应用级别gradle文件
implementation "com.google.dagger:hilt-android:2.31.2-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.31.2-alpha"
将ApplicationComponent
替换为SingletonComponent
。
(解释:
另见 。
我遇到了这个构建错误:
@dagger.hilt.InstallIn(value = {ApplicationComponent.class})
^
symbol: class ApplicationComponenterror: [Hilt]
@InstallIn, 'value' class is invalid or missing: @dagger.hilt.InstallIn({<error>})
[Hilt] Processing did not complete. See error above for details.
ApplicationComponent
已在 Dagger Hilt
v. 2.31 中删除。)
ApplicationComponent
从 2.33-beta
重命名为 SingletonComponent
我正在尝试在我的项目中使用 Hilt 注入。我将依赖项添加到我的 build.gradle 文件中,然后我创建了基础应用程序 class,这个 class 继承自 Applcication() 并且我用 @HiltAndroidApp 对其进行了注释。完成此操作后,我继续为 Hilt 重建项目以生成文件,但它给了我这个错误。
D:\AndroidStudioProjects\testing\app\build\generated\source\kapt\debug\com\example\testing\BaseApplication_GeneratedInjector.java:4: error: cannot find symbol
import dagger.hilt.android.components.ApplicationComponent;
^
symbol: class ApplicationComponent
location: package dagger.hilt.android.componentsD:\AndroidStudioProjects\testing\app\build\generated\source\kapt\debug\com\example\testing\BaseApplication_GeneratedInjector.java:12: error: cannot find symbol
我的 build.gradle 文件:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'dagger.hilt.android.plugin'
id 'kotlin-kapt'
}
...
implementation "com.google.dagger:dagger:2.31"
kapt "com.google.dagger:dagger-compiler:2.28"
// Dagger Android
api 'com.google.dagger:dagger-android:2.28.1'
api 'com.google.dagger:dagger-android-support:2.28.1'
kapt 'com.google.dagger:dagger-android-processor:2.23.2'
implementation "com.google.dagger:hilt-android:2.31-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
kapt "androidx.hilt:hilt-compiler:1.0.0-alpha03"
我的build.gradle(项目名称)
dependencies {
classpath "com.android.tools.build:gradle:4.1.2"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.dagger:hilt-android-gradle-plugin:2.28-alpha"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
我的基础应用程序class:
package com.example.testing
import android.app.Application
import dagger.hilt.android.HiltAndroidApp
@HiltAndroidApp
class BaseApplication: Application() {
}
将您的匕首柄依赖项升级到相同版本。
你项目的根gradle文件
classpath "com.google.dagger:hilt-android-gradle-plugin:2.31.2-alpha"
你的应用级别gradle文件
implementation "com.google.dagger:hilt-android:2.31.2-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.31.2-alpha"
将ApplicationComponent
替换为SingletonComponent
。
(解释:
另见
我遇到了这个构建错误:
@dagger.hilt.InstallIn(value = {ApplicationComponent.class})
^
symbol: class ApplicationComponenterror: [Hilt]
@InstallIn, 'value' class is invalid or missing: @dagger.hilt.InstallIn({<error>})
[Hilt] Processing did not complete. See error above for details.
ApplicationComponent
已在 Dagger Hilt
v. 2.31 中删除。)
ApplicationComponent
从 2.33-beta
SingletonComponent