【问题标题】:Hilt + view model dont buildHilt + viewmodel 不构建
【发布时间】:2021-06-28 22:32:07
【问题描述】:

我有 ViewModel

@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

【问题讨论】:

  • 你能分享你的应用级别build.gradle吗?
  • 你能分享你的 AppModule Di

标签: android dagger-hilt


【解决方案1】:

我遇到了同样的问题,我通过确保升级刀柄插件版本解决了这个问题。就我而言,我从 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

【讨论】:

  • 即使更新到最新版本,我仍然收到此错误。
【解决方案2】:

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

试试这个

在应用级 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"

编码愉快!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    相关资源
    最近更新 更多