根据Hilt的文档,我完成了所有步骤
将类路径添加到项目模块
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"添加插件
plugins {
id "kotlin-kapt"
id("dagger.hilt.android.plugin")
}添加依赖项
dependencies {
implementation("com.google.dagger:hilt-android:$hilt_version")
kapt("com.google.dagger:hilt-android-compiler:$hilt_version")
}带注释的应用程序类,在我的例子中是AppClass,带有@HiltAndroidApp。带注释的活动和与@AndroidEntryPoint有关的片段。
创建的模块为
@InstallIn(AppClass::class)
@Module
object DatabaseModule {
@Provides
@Singleton
fun provideAppDB(application: Application): AppDB {
return AppDB.getDatabase(application)
}
@Provides
@Singleton
fun provideMediaDao(appDB: AppDB): MediaDao {
return appDB.downloadMediaDao()
}
}在ViewModel类中注入为
@HiltViewModel
class DownloadViewModel @Inject constructor(
private val mediaDao: MediaDao
): ViewModel() {
...
}但在执行完所有步骤后,我收到错误消息"@InstallIn,只能与@DefineComponent注释的类一起使用,但发现: com.abc.xyz.AppClass“
发布于 2021-06-15 18:18:03
https://stackoverflow.com/questions/67984384
复制相似问题