Это вызвано несоответствием версий жизненного цикла AndroidX, AndroidX Core, AndroidX Activity и AndroidX Fragment.
Hilt работает, только если getDefaultViewModelProviderFactory
можно переопределить.
Это только правда если этот метод действительно существует, чего нет, если ваши зависимости устарели. А именно, ваш androidx.fragment
ниже 1.2.0, а ваш androidx.activity
ниже 1.1.0.
Используйте это, и он будет работать:
implementation "androidx.appcompat:appcompat:1.1.0"
implementation "androidx.fragment:fragment-ktx:1.2.5"
implementation "androidx.core:core-ktx:1.3.0"
implementation "androidx.activity:activity:1.1.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.2.0"
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.2.0"
Но в настоящее время , вот что заставляет его работать у меня:
implementation 'com.google.dagger:dagger:2.28'
kapt 'com.google.dagger:dagger-compiler:2.28'
// hilt
implementation 'com.google.dagger:hilt-android:2.28-alpha'
kapt 'com.google.dagger:hilt-android-compiler:2.28-alpha'
kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.28-alpha'
kaptTest 'com.google.dagger:hilt-android-compiler:2.28-alpha'
implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha01'
kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha01'
Вместе с
apply plugin: 'dagger.hilt.android.plugin'
И
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha'