본문 바로가기
앱 개발 - Android

안드로이드 버전과 API Level

by 똑똑한 영장류 2014. 9. 24.

안드로이드 버전과 API Level


안드로이드는 다양한 버전이 존재한다. 

최초의 버전 1.0에서부터 최신의 버전 4.4 kitkat 까지...

구글은, 이 안드로이드 버전이 하나씩 올라갈 때마다, 업그레이드된 안드로이드의 새로운 기능들을 개발자들이 이용할 수 있도록 각 버전에 맞는 새로운 SDK를 제공해준다.

일반 이용자들에게 새로운 안드로이드가 공개되면, 개발자들에게는 그에 맞는 새로운 SDK 가 하나씩 더 생기는거다.

구글에서는 SDK 버전을 API Level 이라고 하는 것 같다.


아래 표를 보자..구글 안드로이드 개발자 사이트에서 긁어온거다.


Platform VersionAPI LevelVERSION_CODENotes
Android 4.419KITKATPlatform Highlights
Android 4.318JELLY_BEAN_MR2Platform Highlights
Android 4.2, 4.2.217JELLY_BEAN_MR1Platform Highlights
Android 4.1, 4.1.116JELLY_BEANPlatform Highlights
Android 4.0.3, 4.0.415ICE_CREAM_SANDWICH_MR1Platform Highlights
Android 4.0, 4.0.1, 4.0.214ICE_CREAM_SANDWICH
Android 3.213HONEYCOMB_MR2
Android 3.1.x12HONEYCOMB_MR1Platform Highlights
Android 3.0.x11HONEYCOMBPlatform Highlights
Android 2.3.4
Android 2.3.3
10GINGERBREAD_MR1Platform Highlights
Android 2.3.2
Android 2.3.1
Android 2.3
9GINGERBREAD
Android 2.2.x8FROYOPlatform Highlights
Android 2.1.x7ECLAIR_MR1Platform Highlights
Android 2.0.16ECLAIR_0_1
Android 2.05ECLAIR
Android 1.64DONUTPlatform Highlights
Android 1.53CUPCAKEPlatform Highlights
Android 1.12BASE_1_1
Android 1.01BASE

출처는..아래 링크.

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html


이 표 이전에, 내가 안드로이드 버전이라고 표현한 것은 표에서 'Platform Version'이고 SDK 버전이라 표현한 것은 'API Level'이다.


일반 이용자들이 항상 최신 버전을 이용한다면, 개발자들은 고민할 필요없이 최신의 SDK 를 이용해서 개발하면 될거다.

하지만, 실상은... 그렇지 못하다. 최신의 안드로이드가 등장해도 이전 버전을 그대로 사용하는 이용자들의 수가 꽤 된다. 

그러면, 개발자들은 고민하게 된다. 

최신 버전에서만 돌아가는 앱을 만들어서 사용자가 얼마 되지 않는 것보다, 조금 낮은 버전에서도 돌아가는 앱을 만들면 더 많은 사용자들에게 다가갈 수 있다. 

예를 들면, 'OK! 나는 젤리빈 4.1 부터 지원을 하도록 하겠어!' 라고 결정을 내릴 수 있다.


이렇게 결정을 내렸다면, 개발할 때는 API Level 16 을 이용해서 앱을 개발하면 된다.


그렇게 개발된 앱은 API Level 16 이하에서는 존재하지 않았던 새로운 기능을 포함할 수도 있다. 

그럴 경우, API Level 16 보다 적은 값을 가진  Platform 들, 즉, ICS, honeycomb, gingerbread..이하 안드로이드폰에서 실행이 불가능 할 수도 있다.

API Level 16 이상의 Platform, 즉, Jelly Bean, Jelly Bean MR1, MR2, Kitkat 폰에서는 실행이 가능하다. 특별한 경우를 제외하고, 상위 버전의 API 는 하위 버전과 잘 호환이 되도록 만들어지기 때문이다.


정리하면,

지원하고자 하는 Platform version 을 결정하면, 위 표에서 API Level 을 확인한 후, 개발할 때 해당 API 들을 이용해서 개발하면 된다~~는 이야기를 길게 했다.


끝!








댓글