방대한 문서보다 동작하는 소프트웨어

개발

[안드로이드 ] compileSdk 버전 vs. targetSdk 버전

꽃게장세트 2022. 2. 7. 02:28

두 SDK 버전(compileSdk와 targetSdk)의 역할

두 SDK 버전(compileSdk, targetSdk)은 Android 에서 호환성을 처리하는데 중요하다. compileSdk 과 targetSdk 는 완전히 다른 의미와 목적을 가지고 있다.

 

compileSdk 버전

compileSdk 는 앱을 컴파일 하는데 사용할 SDK 버전을 말한다. compileSdk 를 최신으로 설정하면 최신 API를 액세스할 수 있다. compileSdk 는 컴파일 시에만 사용되며 aab, apk 파일이 포함되지 않는다. 때문에 compileSdk 를 항상 최신으로 유지하는 것이 좋다.  최신으로 유지한다면 3 가지이 이점이 있다. 새로운 API에 대한 컴파일 검사를 받을 수 있다. 새로운 API를 사용할 수 있도록 돕는다. 그리고 새롭게 사용되지 않는 API를 피할 수 있게 도와준다. 

 

targetSdk 버전

targetSdk는 앱에서 새로운 기능을 사용할 수 있는지 여부를 알려준다. targetSdk 는 앱이 테스트된 Android SDK 버전을 시스템에 알려주는 속성이다. targetSdk 는 컴파일에 사용되지 않는다. 지정된 SDK 버전에 대해서 애플리케이션을 테스트 했음을 가리킨다. 새로운 API 에 대한 대응이 되지 않았을 경우 targetSdk를 compileSdk보다 낮추어 호환성을 제공할 수 있다.

 

targetSdk는 컴파일 중에 알지 못하는 대상을 targetSdk로 지정할 수 없기 떄문에 compileSdk 보다 높을 수 없다. (targetSdk <= compileSdk) 물론, 구글에서는 compileSdk 와 targetSdk 를 동일하게 유지하도록 권장하고 있다.