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

配置Dagger-Hilt后生成多余内部包,如何避免其创建?

关于Dagger-Hilt生成内部包的处理方案

首先明确:这些以dagger.hilt.internal.aggregatedroot.codegen、hilt_aggregated_deps为代表的生成包,是Hilt实现依赖注入的核心组成部分——它们负责聚合依赖信息、处理注解逻辑、生成注入代码,无法完全禁止生成。不过可以通过以下方式优化,避免它们干扰你的业务代码视图或目录结构:

  • 调整生成文件的输出目录
    在Android项目的Gradle配置中,指定Hilt注解处理器的输出路径,把这些内部生成文件统一放到build目录下,和业务源码彻底分离。示例配置如下:

    android {
        defaultConfig {
            javaCompileOptions {
                annotationProcessorOptions {
                    arguments += ["hilt.generated.dir": "$buildDir/generated/hilt"]
                }
            }
        }
    }
    

    配置后,所有Hilt生成的内部文件都会存放在build/generated/hilt目录下,不会出现在主源码包结构里。

  • 在IDE中过滤隐藏这些包
    如果只是不想在Android Studio的项目视图中看到它们,可以通过IDE的忽略设置隐藏:

    1. 打开File > Settings > Editor > File Types
    2. 在Ignored Files and Folders列表中,添加dagger.hilt.internal.aggregatedroot.codegen、hilt_aggregated_deps,或者直接添加*/generated/*来过滤所有生成文件目录
    3. 确认保存后,这些包就不会在项目视图中显示了
  • 优化Hilt配置减少冗余生成

    1. 确保使用最新稳定版的Hilt依赖,旧版本可能存在不必要的代码生成冗余:
      dependencies {
          implementation "com.google.dagger:hilt-android:2.48"
          kapt "com.google.dagger:hilt-android-compiler:2.48"
      }
      
    2. 检查项目中Hilt注解的使用,只在必要的类(如Application类、Module类)上添加@HiltAndroidApp、@Module等注解,避免过度使用导致生成更多冗余文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 03:40:09