Fehler: Symbol @dagger.hilt.InstallIn kann nicht gefunden werden (value = {ApplicationComponent.class})
Lesezeit: 2 Minuten
Nach dem Upgrade des Dolchgriffs (Version: 2.31-alpha) ApplicationComponent.class nicht finden können. Was ist die Alternative für a Component wie RoomDatabase?
@Module
@InstallIn(ApplicationComponent::class)
class RoomModule() {
private val DATABASE_NAME = "salat_time"
@Singleton
@Provides
fun provideRoomDatabase(@ApplicationContext appContext: Context) = Room.databaseBuilder(
appContext,
AppDatabase::class.java,
DATABASE_NAME
).createFromAsset("db/$DATABASE_NAME.sqlite").build()
@Singleton
@Provides
fun provideLocalSalatRepository(database: AppDatabase) = LocalSalatRepository(database)
@Singleton
@Provides
fun provideDistrictRepository(database: AppDatabase) = DistrictRepository(database)
}
stackoverflow.com/questions/65266636/…
– Said Lotfi
1. Februar 2021 um 9:46 Uhr
ApplicationComponent ist in der Dagger-Version veraltet 2.30 ApplicationComponent in der Dagger-Version entfernt 2.31
Alternative SingletonComponent sollte stattdessen verwendet werden ApplicationComponent
@Module
@InstallIn(SingletonComponent::class)
class RoomModule() {
. . .
}
Notiz: Für diejenigen, die immer noch nicht finden können SingletonComponent beim Importieren ist es in dagger.hilt.components.SingletonComponent Paket. Alle anderen Components sind in dagger.hilt.android.components Paket.
– Pranav Karnik
24. März 2021 um 7:25 Uhr
Anwendungskomponente wird umbenannt in Singleton-Komponente
Einfach importieren:
import dagger.hilt.components.SingletonComponent
und kommentieren Sie Ihr Modul wie folgt:
@Module
@InstallIn(SingletonComponent::class)
Da ApplicationComponent in der neueren Version von daggerHilt entfernt wird und ich diese Abhängigkeiten für Dolchgriff in der Gradle-Datei auf App-Ebene verwende:
stackoverflow.com/questions/65266636/…
– Said Lotfi
1. Februar 2021 um 9:46 Uhr