Android Studio中Dagger Hilt Unsupported metadata version错误求助
解决Dagger Hilt的Unsupported metadata version错误
错误原因
Unsupported metadata version 本质是Kotlin版本与Dagger Hilt(及关联的KAPT、元数据处理库)版本不兼容。Kotlin 1.8.x对元数据格式做了更新,旧版本Hilt无法识别这种新格式,从而触发编译失败。
解决方案
1. 匹配Hilt与Kotlin的兼容版本
Kotlin 1.8.2需要使用Hilt 2.44及以上版本(优先选择2.48+,对Kotlin 1.8.x支持更完善),且必须保证项目根build.gradle的Hilt插件版本与app模块的Hilt依赖版本完全一致。
根项目build.gradle配置示例:
plugins { id 'com.android.application' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.8.2' apply false id 'com.google.dagger.hilt.android' version '2.48' apply false }
App模块build.gradle配置示例:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' // 必须启用KAPT id 'dagger.hilt.android.plugin' } dependencies { // Hilt核心依赖 implementation "com.google.dagger:hilt-android:2.48" kapt "com.google.dagger:hilt-android-compiler:2.48" // 编译器版本必须与核心依赖一致 }
2. 完善KAPT配置
在App模块的build.gradle末尾添加KAPT的额外配置,确保元数据处理正确:
kapt { correctErrorTypes true }
3. 清理缓存并重新构建
- 执行Android Studio菜单:
File → Invalidate Caches... → Invalidate and Restart - 或通过命令行执行:
./gradlew clean build --refresh-dependencies
4. 检查Android Gradle Plugin(AGP)版本
确保AGP版本适配Kotlin 1.8.2,建议使用AGP 7.4.0及以上版本,避免因AGP与Kotlin不兼容间接导致Hilt编译问题。
验证要点
- 所有Hilt相关版本(插件、核心依赖、编译器)必须完全一致
- 确认
kotlin-kapt插件已启用 - 避免混用不同版本的Kotlin或Hilt依赖
内容的提问来源于stack exchange,提问作者Dzy
相关产品推荐
相关产品推荐

