안드로이드 앱 개발기 #5 - 프로젝트 생성 후 빌드시 발생 오류: The minCompileSdk (31) specified in a dependency's AAR metadata
안드로이드 스튜디오에서 프로젝트를 새로 생성했고, app 모듈의 build.gradle 파일의 dependencies에 아래 문장을 추가하였다.
implementation 'androidx.activity:activity-ktx:1.4.0'
이후 빌드 했는데, 다음과 같은 오류가 발생했다. 오류 패턴은 #4와 동일하다.
빌드 오류
내용은 다음과 같다.
The minCompileSdk (31) specified in a
dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
is greater than this module's compileSdkVersion (android-30).
Dependency: androidx.activity:activity-ktx:1.4.0.
AAR metadata file: /Users/dorian-lee/.gradle/caches/transforms-2/files-2.1/364e4a5a40dfc79a64947135396dea9d/jetified-activity-ktx-1.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.
오류 원인
프로젝트가 참조하는 1.4.0 버전의 activity-ktx 모듈의 컴파일 최소 버전이 31이기 때문으로 파악된다. 버전을 1.4.0에서 1.3.0으로 낮추면 문제가 해결될 것으로 보인다.
(compileSdkVersion과 targetSdkVersion의 값을 31로 세팅하는 방법도 있으나, 현재 버전의 안드로이드 스튜디오에서는 프로젝트 생성시 이 값들이 30이다. 31을 쓰기는 아직 이른듯 하여 나중에 적용할 예정이다.)
해결 방법
app 모듈의 build.gradle 파일의 dependencies에서 activity-ktx의 버전을 1.4.0에서 1.3.0으로 다운그레이드 하였다. 그 결과 빌드 오류가 더 이상 발생하지 않음을 확인했다.
수정 이전
dependencies {
// ...
implementation 'androidx.activity:activity-ktx:1.4.0'
// ...
}
수정 이후
dependencies {
// ...
implementation 'androidx.activity:activity-ktx:1.3.0'
// ...
}
마치며...
앞으로 버전이 올라간 라이브러리 모듈을 dependencies에 추가할 때 동일한 오류가 발생할 가능성이 있다. 라이브러이 추가시 이점 유의할 예정.