Hilt :- 无法在 AppCompatActivity 中使用 @AndroidEntryPoint 获取 DefaultViewModelFactories 异常?

Hilt :- Not able to use the @AndroidEntryPoint in the AppCompatActivity getting DefaultV iewModelFactories exceptions?

我想在我的项目中使用 Hilt 获取助手 class 对象作为我的 activity 的公共对象。我已经尝试了下面的代码行

清单文件条目

 <application
        android:name=".application.AppController"
        android:allowBackup="false"
   

我的AppControllerclass

@HiltAndroidApp
public class AppController extends Application implements Configuration.Provider {
}

请检查我的 gradles 文件

implementation "androidx.activity:activity-ktx:1.2.3"

implementation 'androidx.fragment:fragment-ktx:1.3.4'
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1"
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03"
implementation 'com.google.dagger:hilt-android:2.36'
kapt 'androidx.hilt:hilt-compiler:1.0.0'
kapt 'com.google.dagger:hilt-android-compiler:2.31.2-alpha'

请检查我的 class路径 下面的条目

classpath "com.google.dagger:hilt-android-gradle-plugin:2.36"

现在请检查我的 NVModule 模块 class 我在其中使用了 Hilt

import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent
import javax.inject.Singleton

@Module
@InstallIn(SingletonComponent::class)
class NVModule {

    @Provides
    fun provideDeviceDiagnosticHelper(): DeviceDiagnosticHelper{
        return DeviceDiagnosticHelper()
    }
}

现在请检查我注入 Hilt 对象的 Activity class

@AndroidEntryPoint
public class AutomaticTestActivity extends AppCompatActivity {


  private AutomaticTestPresenter automaticTestPresenter;

  private AutomaticTestView automaticTestView;

  
  ActivityDeviceDiagnosticBinding mBinding;

  @Inject
  DeviceDiagnosticHelper deviceDiagnosticHelper;
}

但是 运行 应用程序出现以下异常,请检查一次

异常:-

/home/..../com/my/app/activity/Hilt_AutomaticTestActivity.java:70: error: method getActivityFactory in class DefaultViewModelFactories cannot be applied to given types; return DefaultViewModelFactories.getActivityFactory(this); ^ required: ComponentActivity,Factory found: Hilt_AutomaticTestActivity reason: actual and formal argument lists differ in length

请帮我解决这个问题

似乎是版本不匹配。使用以下版本:

// hilt
implementation 'com.google.dagger:hilt-android:2.36'
kapt 'com.google.dagger:hilt-android-compiler:2.36'
kaptAndroidTest 'com.google.dagger:hilt-android-compiler:2.36'
kaptTest 'com.google.dagger:hilt-android-compiler:2.36'
// implementation "androidx.hilt:hilt-navigation:1.0.0"
// implementation "androidx.hilt:hilt-navigation-fragment:1.0.0"
kapt 'androidx.hilt:hilt-compiler:1.0.0'

apply plugin: 'dagger.hilt.android.plugin'

classpath 'com.google.dagger:hilt-android-gradle-plugin:2.36'

项目级别和应用级别的依赖版本必须相同。 像 : 类路径“com.google.dagger:hilt-android-gradle-plugin:2.38.1

实施“com.google.dagger:hilt-android:2.38.1” kapt "com.google.dagger:hilt-android-编译器:2.38.1"

implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-android-compiler:2.38.1"


implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03'
    kapt 'androidx.hilt:hilt-compiler:1.0.0'

对我有用