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

如何在Android Studio Hedgehog金丝雀版中添加Hilt与KSP

正确添加Dagger Hilt与KSP的步骤

你遇到的“Unresolved reference”错误,本质是libs.versions.toml中未正确配置插件元数据,导致alias无法找到对应引用。以下是完整的正确配置流程:

1. 配置项目版本目录文件

在项目根目录的libs.versions.toml中,添加Hilt和KSP的版本及插件定义:

[versions]
hilt = "2.48"
# KSP版本必须与你的Kotlin版本匹配,示例对应Kotlin 1.9.20
ksp = "1.9.20-1.0.14"

[plugins]
hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }

2. 项目级build.gradle.kts配置

在根目录的build.gradle.kts中引入插件(设为apply false,让子模块按需应用):

plugins {
    alias(libs.plugins.hilt) apply false
    alias(libs.plugins.ksp) apply false
    // 保留你原有的其他项目级插件,比如com.android.application等
}

3. 应用级build.gradle.kts配置

在app模块的build.gradle.kts中应用插件并添加依赖:

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    alias(libs.plugins.hilt)
    alias(libs.plugins.ksp)
}

android {
    // 保留你原有的Android配置,例如compileSdk、defaultConfig等
}

dependencies {
    // Hilt核心依赖
    implementation(libs.hilt.android)
    // Hilt注解处理器,用ksp引入
    ksp(libs.hilt.compiler)

    // 若使用Compose导航的Hilt扩展,可添加:
    // implementation(libs.hilt.navigation.compose)
}

// 可选:配置Hilt编译参数(解决部分Android版本的校验问题)
ksp {
    arg("dagger.hilt.android.internal.disableAndroidSuperclassValidation", "true")
}

额外排查要点

  • 确保libs.versions.toml中的插件id完全正确:Hilt的id是com.google.dagger.hilt.android,KSP是com.google.devtools.ksp,拼写错误会直接导致引用失败。
  • 严格匹配KSP与Kotlin版本,版本不兼容会引发各类编译异常。
  • 若仍有问题,尝试清理AS缓存:File -> Invalidate Caches... -> Invalidate and Restart。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:30:06