Kotlin Android管理员应用JVM版本兼容及Hilt元数据错误求助
Android项目编译错误解决方案
问题1:JVM目标版本不兼容
报错信息
'compileDebugJavaWithJavac'任务(当前目标版本1.8)与'kaptGenerateStubsDebugKotlin'任务(当前目标版本17)的JVM目标兼容性需设置为同一Java版本。
解决方法
- 统一配置Java和Kotlin的JVM目标版本,确保两者一致:
- 在项目根目录的
build.gradle(Project级)中添加全局Kotlin编译配置:allprojects { tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = '17' // 与Java目标版本保持一致 } } } - 在Module级的
build.gradle中同步Java编译版本:android { compileSdk 34 defaultConfig { minSdk 24 targetSdk 34 // 其他配置 } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } }
- 在项目根目录的
问题2:Hilt元数据版本不兼容
报错信息
error: [Hilt] Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException: Unsupported metadata version. Check that your Kotlin version is >= 1.0。
解决方法
该错误由Hilt与Kotlin版本不匹配导致,需同步两者版本:
- 先确认项目中使用的Kotlin版本(在Project级
build.gradle的org.jetbrains.kotlin.android插件中查看) - 匹配对应的Hilt版本:
- Kotlin 1.9.x 对应 Hilt 2.48+
- Kotlin 1.8.x 对应 Hilt 2.44+
- Kotlin 1.7.x 对应 Hilt 2.42+
- 更新Project级
build.gradle的Hilt插件版本:plugins { id 'com.google.dagger.hilt.android' version '2.48' apply false // 其他插件 } - 更新Module级
build.gradle的Hilt依赖:dependencies { implementation 'com.google.dagger:hilt-android:2.48' kapt 'com.google.dagger:hilt-compiler:2.48' // 其他依赖 } - 执行
Clean Project和Rebuild Project,清除编译缓存后重新构建项目。
内容的提问来源于stack exchange,提问作者Pushpendra
相关产品推荐
相关产品推荐

