다른 개발 환경에서 작업하기 위해 git clone을 받고 실행했더니 다음과 같은 빌드 에러가 발생했다.
Unable to find method ''org.jetbrains.kotlin.buildtools.api.SourcesChanges org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.getChangedFiles$default(org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile, org.gradle.work.InputChanges, java.util.List, kotlin.jvm.functions.Function1, int, java.lang.Object)''
다음을 보면 에러가 Kotlin Gradle 플러그인(KGP)과 Gradle 버전 간의 비호환성 문제로 인해 발생하고 있다는 것을 알 수 있었다.
Unable to find method ''org.jetbrains.kotlin.buildtools.api.SourcesChanges
org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.getChangedFiles$default(...)
주요 원인은 다음과 같았다.
나는 gradle-wrapper.properties에서 KGP를 Gradle 8.4로 사용하고 있었다.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
하지만 프로젝트 수준의 build.gradle에서는 Kotlin 버전을 1.9.22로 설정하고 있었으며, 이 경우 Kotlin 1.9.22는 Gradle 8.4와 충돌할 가능성이 있다.
plugins {
id("org.jetbrains.kotlin.android") version "1.9.22" apply false
}
gradle-wrapper.properties에서 KGP를 Gradle 8.5로 업그레이드하고 Sync 했다.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip