52

I just started using Dagger Hilt for dependency injection on Android and I get a warning on Android Studio saying 'ApplicationComponent' is deprecated. Deprecated in Java.

I didn't find anything related to this warning while Googling, is it actually deprecated or is it safe to use?

I also noticed on Dagger's website that they don't mention it anywhere in the "Migrating to Hilt" guide and they use @InstallIn(SingletonComponent::class) which seems to be working but I have no idea why.

Progman
  • 16,827
  • 6
  • 33
  • 48
Kostas Andrianos
  • 1,551
  • 2
  • 16
  • 21

2 Answers2

126

ApplicationComponent being renamed to SingletonComponent, to allow usage of Hilt in non-Android Gradle modules link

Saeid Lotfi
  • 2,043
  • 1
  • 11
  • 23
20

Is ApplicationComponent deprecated?

Yes, it is deprecated.

Instead of ApplicationComponent, you can use SingletonComponent. This is an Hilt component for singleton bindings

Suraj Gupta
  • 879
  • 7
  • 6