본문 바로가기

안드로이드

안드로이드 호환성 모드

반응형

앱이 동작하는 안드로이드 버전을 지정하기 위해서는 minSdkVersion과 targetSdkVersion에 버전을 기재한다. 안드로이드 스튜디오에서는 build.gradle에 기재하여 AndroidManifest.xml의 내용을 오버라이드할 때가 많다.

targetSdkVersion은 반드시 지정

targetSdkVersion을 명시하지 않으면 minSdkVersion과 동일한 값으로 지정된다. 그러면 호환성 모드 이슈를 겪을 가능성이 생긴다. targetSdkVersion을 지정한다는 의미는 해당 버전까지 테스트해서 앱을 실행하는 데 문제 없다는 의미이고, 그 버전까지는 호환성 모드를 쓰지 않겠다는 뜻이다.

targetSdkVersion은 가급적 높게 지정

결론적으로 단말 버전에 따라 최신 기능을 쓸 수 있기 때문에 targetSdkVersion은 높여서 쓰는 것이 권장된다. 다만 targetSdkVersion을 높이면 테스트할 내용이 많아진다.

이 내용은 안드로이드 프로그래밍 NextStep 에 기재된 내용으로 제가 이해한 SdkVersion에 대해서 기술하면 아래와 같습니다.

minSdkVersion

애플리케이션을 실행시킬 수 있는 가장 낮은 버전을 기재

targetSdkVersion

앱이 동작하는데 사용할 android OS API 버전을 기재

런타임 시에 비교해서 호환성 모드로 동작하기 위한 값

compileSdkVersion

지원하는 가장 높은 api 버전을 기재

컴파일 시에 어느 버전의 android.jar를 사용할지 정하는 값

 

일반적으로 compileSdkVersion은 targetSdkVersion과 동일하거나 그 이상으로 정하는 경우가 많다.

 

반응형

'안드로이드' 카테고리의 다른 글

AsyncTask  (0) 2022.01.25
Looper와 Handler  (0) 2021.12.15
StateFlow를 알아가는 과정 (Flow, LiveData)  (0) 2021.06.10
Dagger2 - Android  (0) 2021.04.22
안드로이드 include vs merge 태그 차이  (0) 2021.04.14