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

Android Studio中Dagger/Hilt与ProGuard编译失败求助

解决方案:Hilt编译报错「Invalid relative name」

问题根源

这个报错是Hilt生成ProGuard规则文件时,误用了Windows系统的反斜杠\作为路径分隔符,而JAR资源路径要求必须用正斜杠/,导致路径格式不合法。同时你的依赖配置存在冗余项,版本兼容性也可能存在冲突。

分步解决

  1. 修正依赖配置错误
    打开模块级build.gradle.kts,删除以下无效/冗余依赖:

    • implementation(libs.hilt.android.gradle.plugin):这是Gradle插件,不属于运行时依赖,无需添加到implementation
    • kapt(libs.dagger.android.processor):Hilt编译器已包含Dagger的注解处理逻辑,单独添加会引发冲突

    修正后的核心依赖块示例:

    dependencies {
        // ...其他基础依赖
        implementation(libs.hilt.android)
        kapt(libs.hilt.compiler)
        // ...测试依赖
    }
    
  2. 调整版本兼容性
    Hilt 2.53与AGP 8.7.3、Gradle 8.11.1存在适配问题,建议:

    • 将Hilt版本升级到2.54(最新稳定版),在gradle/libs.versions.toml中修改:
      hiltVersion = "2.54"
      
    • 或者降级AGP到8.6.x版本,适配Hilt 2.53的版本要求
  3. 禁用Hilt聚合任务
    注释或删除模块级配置中的以下代码:

    hilt {
        enableAggregatingTask = true
    }
    

    该聚合任务在Windows环境下容易触发路径分隔符异常。

  4. 清理缓存并重建项目

    • 执行命令行:gradlew clean(Windows)或./gradlew clean(Mac/Linux)
    • 在Android Studio中点击File > Invalidate Caches... > Invalidate and Restart

额外检查

确认代码中Hilt注解使用规范:

  • 自定义Application类添加@HiltAndroidApp注解
  • ViewModel类添加@HiltViewModel注解
  • 需要注入依赖的组件(如Fragment/Activity)添加@AndroidEntryPoint注解

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 19:27:40