You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在AppCompatActivity中使用@AndroidEntryPoint时遭遇DefaultViewModelFactories参数异常,求助Hilt依赖注入问题解决方案

解决Hilt编译错误:DefaultViewModelFactories.getActivityFactory参数不匹配问题

你遇到的这个编译错误,核心原因是Hilt相关依赖版本不兼容,同时AndroidX组件版本和Hilt的API不匹配,导致生成的Hilt代理类调用了错误的方法签名。下面是具体的修复步骤:

1. 统一Hilt所有依赖的版本

你的配置里存在明显的版本不一致问题:

  • com.google.dagger:hilt-android:2.36 但对应的编译器是 kapt 'com.google.dagger:hilt-android-compiler:2.31.2-alpha'
  • androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha03 和 kapt 'androidx.hilt:hilt-compiler:1.0.0' 版本也不匹配

Hilt的核心库、编译器、gradle插件必须保持版本一致,否则会生成不兼容的代码。

2. 更新AndroidX组件到兼容版本

旧版本的Activity/Fragment和新版Hilt的ViewModel工厂API不兼容,建议更新到稳定且适配的版本,同时移除已废弃的lifecycle-extensions。

修改后的Gradle配置

项目级build.gradle:

buildscript {
    dependencies {
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.36"
    }
}

模块级build.gradle:

plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'dagger.hilt.android.plugin'
    id 'kotlin-kapt'
}

dependencies {
    // AndroidX Activity/Fragment 适配版本
    implementation "androidx.activity:activity-ktx:1.5.2"
    implementation "androidx.fragment:fragment-ktx:1.6.1"

    // Lifecycle组件(替换废弃的lifecycle-extensions)
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.5.1"

    // Hilt核心依赖(版本统一)
    implementation 'com.google.dagger:hilt-android:2.36'
    kapt 'com.google.dagger:hilt-android-compiler:2.36'

    // Hilt ViewModel依赖(稳定版)
    implementation "androidx.hilt:hilt-lifecycle-viewmodel:1.0.0"
    kapt "androidx.hilt:hilt-compiler:1.0.0"
}

3. 可选:简化AppController实现

如果你的业务不需要自定义Configuration.Provider,可以移除这个实现,避免不必要的代码复杂度:

@HiltAndroidApp
public class AppController extends Application { }

4. 清理缓存并重新编译

修改完依赖后,执行File -> Invalidate Caches... -> Invalidate and Restart,彻底清理旧的编译缓存,然后重新构建项目。

这样修改后,Hilt生成的代理类就能正确调用DefaultViewModelFactories.getActivityFactory的匹配方法,解决编译错误。

内容的提问来源于stack exchange,提问作者Ravindra Kushwaha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 17:52:38