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

Hilt继承Fragment时生成子类失败问题排查

问题解决方法

错误原因

你错误地手动让ZipCodeFragment继承了Hilt生成的Hilt_ZipCodeFragment类,这不符合Hilt的使用规范。Hilt的@AndroidEntryPoint注解会自动生成代理类,你的Fragment应该保持继承原父类,由Hilt在编译时处理代理逻辑。

正确写法

修正ZipCodeFragment的代码,保持继承BaseUserOnboardingFragment,仅添加@AndroidEntryPoint并指定父类即可:

@AndroidEntryPoint(BaseUserOnboardingFragment::class)
class ZipCodeFragment : BaseUserOnboardingFragment(R.layout.user_onboarding_zip_code_fragment) { 
    // code
}

额外检查项

  1. Application类配置:确保你的全局Application类添加了@HiltAndroidApp注解,这是Hilt初始化的核心要求:
    @HiltAndroidApp
    class MyApp : Application() {
        // ...
    }
    
  2. Gradle配置验证:
    • 项目根目录build.gradle中添加Hilt插件依赖:
      buildscript {
          dependencies {
              classpath 'com.google.dagger:hilt-android-gradle-plugin:2.48' // 使用最新稳定版本
          }
      }
      
    • App模块build.gradle中应用插件并添加依赖:
      plugins {
          id 'com.android.application'
          id 'kotlin-android'
          id 'kotlin-kapt'
          id 'com.google.dagger.hilt.android'
      }
      
      dependencies {
          implementation 'com.google.dagger:hilt-android:2.48'
          kapt 'com.google.dagger:hilt-compiler:2.48'
      }
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:27:24