版本对应关系
kotlin,gradle,插件版本,是有对应关系的,如果不对应,就会出错
下面是关于kotlin 1.8,gradle 8.0 的hilt的配置
build.gradle(项目)
plugins {
id 'com.android.application' version '8.0.1' apply false
id 'com.android.library' version '8.0.1' apply false
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
id 'com.google.dagger.hilt.android' version '2.44' apply false
}
build.gradle(app)
plugins {
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
}
dependencies {
implementation "com.google.dagger:hilt-android:2.44"
kapt "com.google.dagger:hilt-compiler:2.44"
}
kotlin版本和kotlinCompilerExtensionVersion
另外你的kotlin版本和kotlinCompilerExtensionVersion也有对应关系,如果报错,请参考以下改变
Compose Compiler 是一个 Kotlin 编译器插件,因此您需要使用与您的 Kotlin 版本兼容的 Compose Compiler 版本。使用Compose-Kotlin 兼容性图为您的项目选择正确的版本。
kotlin和kotlinCompilerExtensionVersion的对应关系
报错
如果你有以下报错,
Build Error: 'kspDebugKotlin' task (current target is 17)
请考虑添加 ,如果你的java版本是1.8
build.gradle(app)
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
更多
对于kotlin版本1.9 或者 hilt版本为 2.48
请参考
build.gradle.kts(项目)
plugins {
...
id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
id("com.google.dagger.hilt.android") version "2.48" apply false
}
构建.gradle.kts(应用程序)
plugins {
...
id("com.google.dagger.hilt.android")
id("com.google.devtools.ksp")
}
...
dependencies {
...
implementation("com.google.dagger:hilt-android:2.48")
ksp("com.google.dagger:hilt-compiler:2.48")
}
另外,你可以参考stackoverflow的回答Hilt Unsupported metadata version in Kotlin