Tengo dos módulos en mi aplicación de Android, app y data . el módulo data contiene una dependencia de actualización y el módulo de la app depende del módulo de data .
aplicación/construir.gradle:
implementation project(':data') implementation "com.google.dagger:hilt-android:$hilt_version" kapt "com.google.dagger:hilt-android-compiler:$hilt_version"datos/construir.gradle:
implementation "com.google.dagger:hilt-android:$hilt_version" kapt "com.google.dagger:hilt-android-compiler:$hilt_version" implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version" En el módulo data , tengo el siguiente módulo Hilt:
@Module @InstallIn(SingletonComponent::class) internal object DataModule { @Singleton @Provides fun provideRetrofit(): Retrofit { return Retrofit.Builder() .baseUrl(Constants.API_BASE_URL) .addConverterFactory(MoshiConverterFactory.create()) .build() } @Singleton @Provides fun provideLoginApiService(retrofit: Retrofit): LoginApiService { return retrofit.create(LoginApiService::class.java) } @Singleton @Provides fun provideLoginRepository(loginRepository: LoginRepositoryImpl): LoginRepository { return loginRepository } } Aquí, LoginApiService y LoginRepositoryImpl son internos en el módulo de data y LoginRepository es público (en el módulo de data ):
@Singleton internal class LoginRepositoryImpl @Inject constructor( private val loginApiService: LoginApiService ) : LoginRepository { // ... }Ahora, cuando intento construir el proyecto, aparece el siguiente error:
DaggerMyApplication_HiltComponents_SingletonC.java:41: error: package retrofit2 does not exist import retrofit2.Retrofit; El error desaparece si agrego una dependencia de actualización en el módulo de mi app que no quiero hacer.
¿Qué sucede aquí y cómo puedo resolver este error sin agregar dependencias del módulo de data en el módulo de la app ?