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

多模块Android项目中Hilt注入Retrofit出现MissingBinding报错怎么解决?

问题修复方案

核心原因

Hilt无法识别到skeleton公共模块中提供的Retrofit实例,属于跨模块Hilt依赖注入的配置疏漏。

具体修复步骤

  • 第一步:检查skeleton模块的Hilt依赖配置
    确保skeleton模块的build.gradle.kts(或groovy版本)中已经引入Hilt相关依赖,保证Hilt配置可以跨模块传递:
// skeleton模块build.gradle.kts
plugins {
    id("com.android.library")
    id("org.jetbrains.kotlin.android")
    id("kotlin-kapt")
}

dependencies {
    // 版本需要和app模块的Hilt版本保持一致
    implementation("com.google.dagger:hilt-android:2.48")
    kapt("com.google.dagger:hilt-android-compiler:2.48")
}

kapt {
    correctErrorTypes = true
}
  • 第二步:修复app模块现有配置疏漏
    你贴出的ComingSoonViewModelModule代码里InstallIn前缺少@符号,属于语法错误,修正后如下:
@Module
@InstallIn(ViewModelComponent::class) // 补充缺失的@符号
object ComingSoonViewModelModule {
    @Provides
    @ViewModelScoped
    fun provideComingSoonRepository(comingSoonService: ComingSoonService) =
        ComingSoonRepository(comingSoonService)

    @Provides
    @ViewModelScoped
    fun provideComingSoonService(retrofit: Retrofit): ComingSoonService = 
        retrofit.create(ComingSoonService::class.java)
}

同时确认app模块的自定义Application类已经添加@HiltAndroidApp注解,这是Hilt初始化的必要配置:

@HiltAndroidApp
class MyCustomApp : Application()
  • 第三步:显式引入skeleton模块的Hilt Module
    如果Hilt仍然无法自动扫描到skeleton模块的RetrofitBuilder配置,可以在app模块中显式指定包含该Module,强制Hilt识别公共模块的依赖提供规则:
// app模块下新增Hilt配置类
@Module
@InstallIn(SingletonComponent::class)
@Module(includes = [RetrofitBuilder::class]) // 显式引入skeleton模块的Retrofit配置
object AppCommonHiltModule

额外代码优化提示

你当前providesHttpLoggingInterceptor方法中连续两次设置日志级别,最后只有HEADERS级别生效,若需要打印完整的请求响应体,可删除第二行多余的级别设置:

@Singleton
@Provides
fun providesHttpLoggingInterceptor() = HttpLoggingInterceptor()
    .apply {
        level = HttpLoggingInterceptor.Level.BODY
        // 删除多余的 level = HttpLoggingInterceptor.Level.HEADERS
    }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:27:00