문제
안드로이드 플라밍고 업데이트 후 Glide 라이브러리를 사용하기 위해 app 모듈 단위의 gradle에 id 'kotlin-kapt'를 추가했지만
Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac'
task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin'
task (current target is 17) jvm target compatibility
should be set to the same Java version.
빌드할 때 계속 위와 같은 에러 발생했다.
버전 문제라고 생각하여 gradle jdk와 gradle 버전을 확인하고 구글링을 통해 해결책을 찾았다.
원인
app 모듈의 compileOptions의 targetCompatibility 값을 제대로 셋팅이 되지 않아 다시 설정을 해줘야 하는 것을 확인했다.
기존엔 1.8로 설정되어 있었지만, target 17을 다시 설정해야 한다는 것을 알 수 있었다.
해결
내가 해결한 방법은 app 모듈에서 plugins {} 밑에 jvmToolchain(17)을 추가한다.
kotlin {
jvmToolchain(17)
}
app 모듈의 android {} 안에 아래와 같이 설정해준다.
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
이 후 정상적으로 빌드가 된다.
다시 시도한 결과 jvmToolchain은 안해줘도 될 것 같다.