front-end/android studio

안드로이드 sdk 버전 설정

study-minjeong 2024. 7. 17. 15:36

안드로이드 os api

안드로이드 운영 체제의 다양한 버전에서 제공되는 api 집합을 의미한다.

각 안드로이드 버전은 해당 버전에 맞는 api가 추가되거나 업데이트 된다.

 

sdk 버전 설정

build.gradle 파일에 앱의 sdk 설정하는 부분이 있다.

android {
    compileSdk 33

    defaultConfig {
        minSdk 26
        targetSdk 33
    }
}

 

1. targetSdkVersion

앱이 기기에서 실행시 실제로 사용되는 안드로이드 api 레벨이다. 컴파일에는 관여하지 않고, 앱 실행 시(런타임)에 실제로 영향을 준다. 지정한 버전까지 최적화 및 테스트 했음을 의미한다.

구글 스토어에 앱 업로드 최소 요구 api 레벨이 있어, 해당 레벨을 맞추어야 한다.

1) os > targetSdkVersion : targetSdkVersion 기반으로 동작

2) os == targetSdkVersion : 해당 버전으로 동작

3) os < targetSdkVersion : os 버전 기반으로 동작

 

2. minSdkVersion

앱을 실행하는 데 필요한 최소 api 레벨이다. 실제로 기기의 os 버전이 minSdkVersion보다 낮으면 앱이 설치되지 않는다.

 

3. compileSdkVersion

컴파일 시 사용되는 안드로이드 api 레벨이다. 코드 작성 시 사용할 수 있는 api 범위를 관여한다.

컴파일 시에만 적용되므로 런타임에는 영향을 끼치지 않는다. import문으로 참조되는 클래스를 찾을 때 어떤 api 레벨에서 찾을 것인지 결정한다. 보통은 targetSdkVersion과 동일하게 설정한다.

 

 

세 종류의 sdk 버전 관계 : min <= target <= compile

안정적인 sdk 버전 관계 : min <= target == compile