我是 Android 依赖注入(inject)的新手。我正在使用 Dagger-Hilt,在为 DB 提供程序生成的 AppModule 类中出现错误并且项目无法编译。
错误是 @InstallIn can only be used on @Module or @EntryPoint classes
这是我的 AppModule 对象。我在哪里犯错?
@Module
@InstallIn(ApplicationComponent::class)
object AppModule {
@Singleton
@Provides
fun provideAppDatabase(
@ApplicationContext app: Context
) = Room.databaseBuilder(
app,
AppDatabase::class.java,
"gelirkenal"
).build()
@Singleton
@Provides
fun provideItemDao(db: AppDatabase) = db.itemDao()
}
最佳答案
我将 Module 的导入设置如下:import com.google.android.datatransport.runtime.dagger.Module
但以下是正确的:import dagger.Module
关于android - @InstallIn 只能用于 @Module 或 @EntryPoint 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65259371/