刀柄 + 视图模型不构建

时间:2021-05-22 09:31:04

标签: android dagger-hilt

我有视图模型

@HiltViewModel
class WControlViewModel @Inject constructor(
private val getProfile: GetProfile,
private val getHistory: GetHistory,
) : ViewModel() {...}

活动

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
private val vModel: WControlViewModel by viewModels()

申请

@HiltAndroidApp

类 WControlApp :Application()

但项目未构建,错误:

 return DefaultViewModelFactories.getActivityFactory(this);
                                ^
required: ComponentActivity,Factory
found: Hilt_MainActivity
reason: actual and formal argument lists differ in length

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,我通过确保 hilt 插件版本升级解决了这个问题。就我而言,我从 2.33-beta 升级到 2.35.1

所以在你项目的根 build.gradle 文件中的依赖项

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

您可以在此处找到最新版本号:https://mvnrepository.com/artifact/com.google.dagger/hilt-android-gradle-plugin

答案 1 :(得分:1)

我遇到了同样的问题,所以我更改了我的项目级别依赖项和应用级别依赖项。

试试这个

在应用级 Gradle 中:

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

在项目级 Gradle 中:

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

快乐编码!!