최근에 오랜만에 1년 전에 개발한 프로젝트 빌드할 일이 생겨서 빌드 전에 라이브러리 버전을 올리다 안드로이드 31 버전으로 타겟이 설정되지 않아 이슈가 발생하였다.
안드로이드는 현재 버전 12까지 출시를 하였고 API Level로는 31/32 두 개의 레벨이 버전 12에 포함이 된다.
13(API Level33) 버전 출시가 2022 하반기로 예정되어 있어 13 출시 이 후에 프로젝트 버전을 올려줄 생각이었지만 버그나 라이브러리 충돌이 생길 것같아서 우선 API Level 31까지만 올려줄 생각이다.
기존에는 그냥 올려주면 되었지만 31부터는 추가적으로 설정해 주어야 하는 부분이 생겼다.
minSdkVersion도 올려줘도 상관은 없지만 우선 21로 그냥 두었다.
Flutter 프로젝트의 안드로이드 관련 그래들 파일을 수정하여 버전을 올려주면 되는데 android > build.gradle의 dependencies 코틀린 버전은 코틀린 사이트에서 프로젝트의 맞는 버전을 찾아서 넣어주어야 한다.
처음에는 세팅을 변경해 주어도 계속해서 에러가 발생하여 확인해보니 android > build.gradle의 buildscript에 있는 코틀린 버전도 변경하여 이슈를 해결하였다.
compileSdkVersion 31
targetSdkVersion 31
ext.kotlin_version = '1.6.10'
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
...
}
자바 버전에 따라서 android > app > build.gradle의 dependencies의 자바 버전을 변경하여야 할 수도 있다.