이번 포스팅에서는 Android Version과
작성일 날짜 기준으로 점유율을 확인해본다.
✅ Android Version
Android Version | 코드명 | API LEVEL | 릴리즈 날짜 |
4.1 | Jelly Bean | 16 | 2012.07.09 |
4.2 | Jelly Bean | 17 | 2012.07.09 |
4.3 | Jelly Bean | 18 | 2012.07.09 |
4.4 | KitKat | 19 | 2013.10.31 |
4.4W | KitKat Wear | 20 | 2013.10.31 |
5 | Lollipop | 21 | 2014.11.12 |
5.1 | Lollipop | 22 | 2014.11.12 |
6 | MarshMallow | 23 | 2015.10.05 |
7 | Nougat | 24 | 2016.08.22 |
7.1.1 | Nougat | 25 | 2016.10.02 |
8 | Oreo | 26 | 2017.08.21 |
8.1 | Oreo | 27 | 2017.10.25 |
9 | Pie | 28 | 2018.08.06 |
10 | Q (Quince Tart) | 29 | 2019.09.04 |
11 | R (Red Velvet Cake) | 30 | 2020.09.08 |
12 | S (Snow Cone) | 31 | 2021.10.04 |
12L | Sv2 | 32 | 2021.10.04 |
13 | Tiramisu | 33 | 2022.08.16 |
14 | UpsideDownCake | 34 | 2023.10.04 |
15 | Vanilla Ice Cream | 35 | 2024.09.02 |
젤리빈 미만 버전은 작성하지 않았다.
현재 날짜 기준으로 롤리팝 미만 버전까지도 플레이 스토어에서 지원이 중단되었다.
● Android Version
OS의 버전 이름 · 마케팅 이름이다.
사용자들이 운영 체제의 버전을 직관적으로 이해할 수 있도록
사용자 관점에 초점이 맞춰졌다고 볼 수 있다.
● 코드명
재미있는 점은 코드명이 전부 디저트 이름이다.
하지만 Android 10 부터는 코드명을 공식적으로는 사용하지 않으려하고 있다.
(구글 내부적으로는 사용한다)
디저트 명이 국가마다 발음이 다르다는 문제와
비영어권 국가에서는 명확히 이해하기 어렵다는 이유라고 한다.
그런데도 우리는 아직 코드에서 만나볼 수 있다.
android.os.Build 클래스에서는 위 처럼 코드명을 상수로 사용중이기에,
우리는 다음과 같이 SDK 버전으로 분기 처리하는 코드를 작성하곤 한다.
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
}
● API LEVEL
Android Version이 사용자 관점의 버전 이름이었다면,
API LEVEL은 개발자 관점에서의 버전이라고 볼 수 있다.
개발자가 사용할 수 있는 프레임워크 기능 · API 범위를 정의한다.
Android OS의 각 버전마다 반드시 하나의 고유한 API LEVEL이 할당된다.
그리고 이 API LEVEL은 우리가 Gradle 파일에서 앱의 SDK로서 지정해주고 있다.
즉, 우리의 앱에서 어떤 API LEVEL을 SDK Version으로 사용할 지 지정하는 것이다.
● 릴리즈 날짜
릴리즈 날짜라고 명시하긴 하지만, 해당 날짜는 소스 코드가 오픈되는 날짜라고 볼 수 있다.
이번 연도에 출시된 Android 15의 경우에도, 9월에 릴리즈 되었다고 하지만 베타 버전이었다.
메인 버전은 지난 달인 2024년 11월에서야 릴리즈되었다.
버전별로 날짜를 쭉 보다보면 느끼겠지만, 공통점이 있다.
매년 하반기, 주로 8월~10월에 릴리즈한다는 점이다.
Android 16은 벌써 프리뷰가 출시되었으며
당연히(현재까지의 패턴상?) 내년 하반기에 릴리즈 될 예정이다.
✅ Android Version 점유율
사용자들이 어떤 Android Version을 사용 중인지 확인해보자.
확인 방법으로는 여러가지가 존재한다.
● 외부 통계 링크
다음 링크에서 확인해볼 수 있다 ↓
위 웹 페이지에서는 버전별 점유율이 1달 기준으로 업데이트된다.
먼저, 전 세계 기준의 그래프를 보면
Android 14 ~ 10 까지 많이 사용중인 것을 확인할 수 있다.
하지만 대한민국 기준의 그래프로 변경해보면
Android 14 ~ 12 까지만 합산해도 95%라는 높은 점유율을 보여준다.
(Android 11이 1% 대 밖에 안 나온다 ㄷㄷ;)
역시 성질 급한 민족답게 OS 업데이트 속도도 엄청난 것을 확인할 수 있다.
● 안드로이드 스튜디오 내에서 확인
안드로이드 스튜디오에서 [New Project] 를 통해 새로운 프로젝트를 생성할 때 확인할 수 있다.
위처럼 Minimum SDK를 Oreo로 지정해주면,
"당신의 앱은 약 95.4%의 기기에서 실행될 것이다"
라고 친절히 설명해주는 것을 확인할 수 있다.
바로 밑에 있는 [Help me choose] 링크를 눌러보면
다음과 같이 더욱 세부적인 안내를 받을 수 있다.
2024년 1월 기준으로 KitKat을 적용하면 100%의 사용자를 끌어올 수 있다고 한다.
✅ Target SDK, Min SDK 설정 기준?
구글은 매년 새로운 Android Version을 출시하며,
개발자들에게는 배포중인 앱의 Target SDK를 업그레이드하라는 압박을 준다.
그렇기에 우리는 매년마다 유지보수 중인 앱의 Target SDK를 업그레이드 해줘야 하고,
새로운 변경점 또한 적용해야 한다.
물론 배포중인 앱 뿐만 아니라, 해당 날짜 이후로 새롭게 출시하려는 앱 또한
해당 API LEVEL을 타겟팅해야 한다.
(Target SDK가 낮다면 App Bundle을 업로드할 때 반려당한다)
그렇기에 출시가 목적인 앱의 Target SDK는
해당 시점에서 사용할 수 있는 가장 높은 API LEVEL로 적용하는 것이 이롭다.
Minimum SDK의 경우, 각 프로젝트의 타깃과 환경에 따라 달라진다.
예를 들어 내가 만드는 앱이 대한민국만을 타깃으로 삼는 앱이라면,
Minimum SDK를 32까지 올려도 94%의 사용자는 사용 가능한 앱이 될 수 있다.
하지만 Android Version 업데이트 속도가 현저히 느린 국가를 대상으로 한다면
Minimum Sdk를 26까지는 낮춰야 95%를 커버할 수 있는 것이다.
당연히 Minimum SDK를 낮추면 낮출수록 개발자 입장에서는 번거롭기 마련이다.
하지만 사용자를 늘리려면 울며 겨자먹기로 낮출 수 밖에 없는 현실이다.
그나마 다행인 점은, 구글에서도 너무 낮은 수준의 안드로이드 버전은 일정 주기로 지원을 중단한다.
안드로이드 버전과 점유율에 대해 간략히 알아보았다.
다음 안드로이드 버전 업데이트부터는 변경점도 포스팅해보려 한다.
'Android (안드로이드)' 카테고리의 다른 글
[Android] release 모드 빌드하기 / Build Variants / Signing Configs (1) | 2024.12.19 |
---|---|
[Android] 앱 버전 · Target SDK · 빌드 날짜 표시하기 / BuildConfig import 오류 해결 (3) | 2024.12.12 |
[Android] 안드로이드 스튜디오 단축키 정리 (Windows) / + 소소한 크롬 단축키 정리 (4) | 2024.12.10 |
[Android] NDK / JNI (3) - CMake 방식 적용 (1) | 2024.12.09 |
[Android] NDK / JNI (2) - 적용해보기 (2) | 2024.12.06 |