안드로이드 앱 개발, 어떤 API 레벨을 타겟해야 할까?

안드로이드 앱을 개발할 때 가장 먼저 고민하게 되는 것 중 하나가 바로 어떤 API 레벨을 지원할 것인가입니다. 너무 낮은 버전을 지원하면 개발 난이도가 올라가고, 너무 높은 버전만 지원하면 잠재 사용자를 놓치게 됩니다.

2025년 4월 기준 최신 안드로이드 플랫폼 버전 분포 데이터를 바탕으로, 실무에서 바로 적용할 수 있는 API 레벨 설정 전략을 정리했습니다.

2025년 안드로이드 플랫폼 API 버전 분포 차트 - Lollipop(API 21)부터 Android 15(API 35)까지 누적 점유율 표시

📊 2025년 안드로이드 버전 분포 핵심 인사이트

주요 버전별 누적 점유율

  • Android 5 (Lollipop, API 21): 99.9% - 거의 모든 기기
  • Android 6 (Marshmallow, API 23): 99.3%
  • Android 7 (Nougat, API 24-25): 98.0%
  • Android 8 (Oreo, API 26-27): 96.4%
  • Android 9 (Pie, API 28): 93.4%
  • Android 10 (Q, API 29): 87.6%
  • Android 11 (R, API 30): 77.4%
  • Android 12 (S, API 31): 61.5%
  • Android 13 (T, API 33): 48.7%
  • Android 14 (U, API 34): 31.9%
  • Android 15 (V, API 35): 4.5%

데이터가 말해주는 것

  1. 롤리팝(API 21) 이상은 사실상 표준: 99.9%의 누적 점유율은 API 21을 최소 지원 버전으로 설정해도 거의 모든 사용자를 커버할 수 있음을 의미합니다.

  2. Android 10(API 29)이 분기점: 87.6%의 점유율로 여전히 많은 기기가 Android 10 수준에 머물러 있습니다.

  3. 최신 버전 채택은 여전히 느림: Android 15는 출시 후에도 4.5%의 낮은 점유율을 보이며, 최신 기능 활용 시 하위 호환성 전략이 필수입니다.

🎯 실무 추천 API 레벨 설정 전략

1. 일반 앱 (대중적 서비스)

1
2
3
4
5
6
7
android {
    defaultConfig {
        minSdkVersion 24  // Android 7.0 Nougat
        targetSdkVersion 35  // Android 15 (최신)
        compileSdkVersion 35
    }
}

근거:

  • minSdk 24: 98%의 기기를 커버하면서도 비교적 현대적인 API 사용 가능
  • targetSdk 35: Google Play 정책상 최신 API 레벨 타겟 권장
  • Android 7.0부터는 Multi-window, 향상된 Doze 모드, 파일 기반 암호화 등 중요한 기능 지원

2. 최신 기능 중심 앱 (혁신적 서비스)

1
2
3
4
5
6
7
android {
    defaultConfig {
        minSdkVersion 29  // Android 10 Q
        targetSdkVersion 35
        compileSdkVersion 35
    }
}

근거:

  • minSdk 29: 87.6% 커버, Scoped Storage, 다크 테마 네이티브 지원, 개선된 제스처 내비게이션
  • 최신 프라이버시 및 보안 기능을 기본으로 활용 가능
  • 개발 복잡도 감소 (레거시 권한 처리 불필요)

3. 레거시 사용자 포함 앱 (시장 최대화)

1
2
3
4
5
6
7
android {
    defaultConfig {
        minSdkVersion 21  // Android 5.0 Lollipop
        targetSdkVersion 35
        compileSdkVersion 35
    }
}

근거:

  • minSdk 21: 99.9% 커버, 시장 범위 최대화
  • Material Design, JobScheduler, Vector Drawables 지원
  • 단, 많은 조건부 코드와 하위 호환성 처리 필요

🚀 주요 API 레벨별 핵심 기능

API 21 (Android 5.0 Lollipop)

  • Material Design 도입
  • JobScheduler API
  • Vector Drawables
  • Camera2 API

API 23 (Android 6.0 Marshmallow)

  • 런타임 권한 시스템 (Runtime Permissions)
  • Doze 모드 및 App Standby
  • 다이렉트 쉐어
  • 지문 인식 API

API 24 (Android 7.0 Nougat)

  • 멀티 윈도우 지원
  • 향상된 Doze 모드
  • 파일 기반 암호화
  • Data Saver 모드

API 26-27 (Android 8.0-8.1 Oreo)

  • 알림 채널 (Notification Channels) - 필수
  • 백그라운드 실행 제한
  • Picture-in-Picture 모드
  • Autofill Framework
  • 적응형 아이콘

API 28 (Android 9 Pie)

  • 제스처 내비게이션 도입
  • 실내 Wi-Fi 위치 측위
  • Multi-camera API
  • ImageDecoder (Bitmap 대체)

API 29 (Android 10 Q)

  • Scoped Storage (필수 적용)
  • 다크 테마 네이티브 지원
  • 제스처 내비게이션 개선
  • 접이식 기기 지원
  • 공유 시트 개선

API 30 (Android 11 R)

  • Scoped Storage 강제 적용
  • One-time 권한
  • 백그라운드 위치 권한 분리
  • 대화 알림 (Conversations)
  • 무선 디버깅

API 31 (Android 12 S)

  • Material You 디자인
  • Splash Screen API 의무화
  • 정확한 알람 권한
  • 블루투스 권한 세분화
  • Performance Class 도입

API 33 (Android 13 T)

  • 세분화된 미디어 권한 (READ_MEDIA_IMAGES, READ_MEDIA_VIDEO, READ_MEDIA_AUDIO)
  • 알림 권한 (POST_NOTIFICATIONS) 필수
  • 테마별 앱 아이콘
  • 예측형 뒤로 제스처

API 34 (Android 14 U)

  • 선택적 포토 피커
  • 향상된 배터리 관리
  • 부분 화면 공유
  • 사용자 정의 폰트 개선

API 35 (Android 15 V)

  • 위성 연결 지원
  • NFC 경험 개선
  • 대형 화면 멀티태스킹 개선
  • 커버 스크린 지원

💡 API 레벨 설정 시 고려사항

1. Google Play 정책 준수

Google Play는 신규 앱 및 앱 업데이트 시 특정 targetSdkVersion 이상을 요구합니다. 2025년 현재는 API 34 (Android 14) 이상을 권장하며, 향후 API 35가 필수가 될 예정입니다.

2. 하위 호환성 처리 패턴

1
2
3
4
5
6
7
// 조건부 기능 사용
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
    // Android 13 이상에서만 동작하는 코드
    requestPermissions(arrayOf(Manifest.permission.POST_NOTIFICATIONS), REQUEST_CODE)
} else {
    // 하위 버전 대체 로직
}
1
2
3
// AndroidX 라이브러리 활용으로 하위 호환성 확보
implementation "androidx.core:core:1.12.0"
implementation "androidx.appcompat:appcompat:1.6.1"

3. 주요 Breaking Changes 대응

  • API 23: 런타임 권한 처리 필수
  • API 26: 알림 채널 생성 필수
  • API 29-30: Scoped Storage 단계적 적용
  • API 31: Splash Screen API 대응
  • API 33: 알림 권한 명시적 요청

4. 테스트 전략

  • 최소 3개 API 레벨 테스트: minSdk, 중간 버전, targetSdk
  • 주요 점유율 버전 집중 테스트: API 29, 31, 33
  • 에뮬레이터와 실제 기기 병행 테스트

📈 2025년 트렌드 및 전망

1. Android 14-15로의 빠른 전환 예상

Android 14 (31.9%)는 빠르게 성장 중이며, 2025년 말까지 50%를 돌파할 것으로 예상됩니다. Android 15도 OEM 업데이트와 함께 점유율을 늘려갈 것입니다.

2. Android 10 이하 레거시 감소

Android 10 (Q, API 29) 이하 기기는 점차 감소 추세입니다. 2026년경에는 Android 11을 최소 지원 버전으로 설정하는 것이 일반화될 전망입니다.

3. Privacy Sandbox 및 권한 강화

Android는 사용자 프라이버시 보호를 계속 강화하고 있습니다. 향후 버전에서는 더욱 세분화된 권한 체계와 Privacy Sandbox 도입이 예상됩니다.

4. 대형 화면 및 폴더블 최적화

태블릿, 폴더블, 크롬북 등 대형 화면 기기가 증가함에 따라 반응형 레이아웃 및 멀티 윈도우 대응이 필수가 되고 있습니다.

🎓 결론: 균형 잡힌 API 전략이 핵심

안드로이드 앱 개발에서 최적의 API 레벨 설정은 서비스 특성과 타겟 사용자에 따라 달라집니다.

  • 대중적 서비스: minSdk 24 (98% 커버, 현대적 API 활용)
  • 혁신적 서비스: minSdk 29 (87.6% 커버, 최신 기능 중심)
  • 시장 최대화: minSdk 21 (99.9% 커버, 높은 개발 복잡도)

중요한 것은 단순히 최소 버전을 낮추는 것이 아니라, 각 API 레벨의 주요 변경사항을 이해하고 적절한 하위 호환성 전략을 수립하는 것입니다. AndroidX 라이브러리를 적극 활용하고, 조건부 분기를 통해 최신 기능과 레거시 지원을 동시에 달성하세요.

2025년 기준, API 24를 minSdk로, API 35를 targetSdk로 설정하는 것을 추천합니다. 이는 시장 점유율과 개발 효율성, Google Play 정책 준수 사이의 최적 균형점입니다.

References