Study Record

[안드로이드] API 수준 이해와 호환성 탐색 본문

안드로이드

[안드로이드] API 수준 이해와 호환성 탐색

초코초코초코 2023. 6. 14. 16:48
728x90

😶 API ?

Android 는 앱뿐만 아니라 시계, TV, 자동차 등 코드를 실행할 수 있는 장치의 수가 다양하다. 그중에서 앱을 대상으로 하는 Android OS 는 알파벳 순서로 된 음식 이름으로 된 버전 번호가 있다. (ex. Android Oreo, Android pie 등)

 

Android API 레벨은 Android 버전을 의미한다. (ex. API 19 = Android 4.4(KitKat)

 

사용자가 사용하고 있는 핸드폰 기기의 Android 버전이 서로 다를 수 있기 때문에 앱 프로젝트를 생성할 때 앱이 지원하는 최소 API 수준을 지정해야 한다!

 

 

😶 build.gradle 파일

 

앱 프로젝트의 build.gradle(Module: [App Name]) 파일은 앱 모듈과 관련된 빌드 매개변수 및 종속성을 정의한다. 

android {
    compileSdk 33

    defaultConfig {
        applicationId "com.example.basic_text"
        minSdk 24
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    ...
}

compileSdk 는 앱을 컴파일하는 데 사용하는 Android API 수준을 지정한다. 앱에서 지원할 수 있는 최신 Android 버전이다.

targetSdk 는 앱을 테스트한 가장 최근의 API 이다.

midSdk 는 앱의 최소 API 수준이다. 이 API 레벨보다 낮은 기기는 앱을 실행하지 못한다.

 

 

😶 호환성 탐색

Android API 수준에 대한 앱 개발에 대해 Android 프레임워크 팀은 여러 가지 많은 작업을 수행했다.

 

2011년 이전 버전과 호환되는 클래스와 유용한 기능을 제공하는 Google 개발 라이브러리인 첫 번째 지원 라이브러리를 출시했고 2018년 지원 라이브러리의 이전 클래스와 기능을 많이 포함하고 확장된 라이브러리인 Android Jetpack 을 발표했다.

 

Android Jetpack 라이브러리의 네임 스페이스는 androidx 이다. 이에 관해 build.gradle(Moudle: [AppName]) 파일에서 종속성(dependencies)을 참고할 수 있다.

dependencies {

    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.9.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
}

 

 

728x90