Android Studio Hedgehog集成Hilt 2.48时kaptDebugKotlin执行失败
:app:kaptDebugKotlin任务失败的问题 针对你遇到的java.util.ServiceConfigurationError: dagger.spi.BindingGraphPlugin: dagger.hilt.android.processor.internal.viewmodel.ViewModelValidationPlugin not a subtype报错,以下是经过验证的解决方案:
统一Hilt依赖版本
确保所有Hilt相关依赖版本完全一致,不能混合不同版本的Dagger/Hilt组件。在模块级build.gradle.kts(或build.gradle)中配置:implementation "com.google.dagger:hilt-android:2.48" kapt "com.google.dagger:hilt-android-compiler:2.48" // 若使用了hilt-compiler(如自定义处理器)也需同步版本 kapt "com.google.dagger:hilt-compiler:2.48"执行
./gradlew app:dependencies查看依赖树,排除任何引入旧版Dagger/Hilt的间接依赖。清理构建缓存并重启
执行命令清理构建缓存:./gradlew clean ./gradlew build --refresh-dependencies同时在Android Studio中执行
File -> Invalidate Caches...,选择Invalidate and Restart清除IDE缓存。检查Module注解的合法性
确认你的Module类符合Hilt要求:@InstallIn(ActivityComponent::class)的Component类名拼写正确,无大小写或语法错误- Module类若包含
@Provides方法,需为普通类;若为抽象类则需包含@Binds方法 - 避免Module类出现重复注解或无效注解组合
匹配AGP与Kotlin版本
Android Studio Hedgehog对应AGP 8.2.x版本,确保项目AGP版本与Studio兼容,同时搭配Hilt 2.48推荐的Kotlin 1.9.x版本:
项目级build.gradle中配置:dependencies { classpath "com.android.tools.build:gradle:8.2.1" classpath "com.google.dagger:hilt-android-gradle-plugin:2.48" } plugins { id 'org.jetbrains.kotlin.android' version '1.9.20' apply false }
报错原因说明
该错误本质是类加载冲突:不同版本的Dagger/Hilt组件被同时引入,导致ViewModelValidationPlugin的类定义在不同类加载器中,无法被识别为dagger.spi.BindingGraphPlugin的子类型。统一依赖版本是解决这类问题的核心。
内容的提问来源于stack exchange,提问作者Shivam Ratan

