在kotlin+java混合项目中接入Hilt后编译时报错如下:
Execution failed for task ':app:kaptDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction
> java.lang.reflect.InvocationTargetException (no error message)
根据提示,执行Run with --info
后得到跟Hilt有关报错信息如下:
Caused by: java.lang.IllegalStateException: Unsupported metadata version. Check that your Kotlin version is >= 1.0
at dagger.internal.codegen.kotlin.KotlinMetadata.metadataOf(KotlinMetadata.java:218)
at dagger.internal.codegen.kotlin.KotlinMetadata.from(KotlinMetadata.java:196)
at dagger.internal.codegen.kotlin.KotlinMetadataFactory.create(KotlinMetadataFactory.java:56)
原因:
版本兼容问题
解决办法:更新前用的Hilt版本是2.28-alpha
将Hilt和插件版本都更新到最新版2.37
问题就解决了
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.37'
模块build.gradle
api 'com.google.dagger:hilt-android:2.37'
kapt 'com.google.dagger:hilt-android-compiler:2.37'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)