반응형
리눅스 커널 (Linux Kernel) :
리눅스에 기반을 둔 오픈소스 소프트웨어 스택
하드웨어 추상화 레이어 (hardware abstraction layer, HAL) :
하드웨어의 추상화 계층으로, 상위의 자바 API프레임워크에서
하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공
안드로이드 런타임 (Android runtime):
ART라고 하며 앱을 실행하는 역할을 한다.
안드로이드 5.0버전 이전에는 Dalvik
안드로이드 5.0버전 이상부터는 ART로 변경됨
안드로이드 앱은 DEX파일로 빌드 되는데
이 DEX 파일을 해석해서 실행하는 주체가 바로
ART이다.
자바에서 개발자가 소스코드를 작성한 후 컴파일하면
클래스 파일이 만드어진다.
이클래스 파일을 자바 가상 머신에서 실행한다.
그러나 안드로이드는 자바 클래스를 런타임 때
그대로 실행하지 않고 DEX 파일로 컴파일한다.
그리고 DEX 파일을 해석하는 ART에서 실행한다.
DEX 파일은 안드로이드 스튜디오에서 앱을 빌드할때
자동으로 생성된다.
안드로이드 NDK (native development kit):
안드로이드 앱은 대부분 자바 프레임워크로 개발하지만
네이티브 C/C++ 라이브러리를 이용할 수 있는것
자바 API 프레임워크 :
앱을 개발할때 사용하는 자바 API
안드로이드 버전 :
버전이 오르면서 새로운 기능이 추가되거나 기존 API가 변경,
또는 제거되는 등 앱 개발에 영향을 미치는 변화가 따른다.
그래서 개발자는 변경된 사항을 파악해서 앱에 민감하게 대처해야 한다.
버전 | 코드명 | API 레벨 | 출시 연도 |
Android 1.0 | - | 1 | 2008 |
Android 1.1 | Petit Four | 2 | 2009 |
Android 1.5 | Cupcake | 3 | 2009 |
Android 1.6 | Donut | 4 | 2009 |
Android 2.0.x ~ 2.1 | Eclair | 5 ~ 7 | 2009 |
Android 2.2.x | Froyo | 8 | 2010 |
Android 2.3.x | Gingerbread | 9 ~ 10 | 2010 |
Android 3.x | Honeycomb | 11 ~ 13 | 2011 |
Android 4.0.x | Ice Cream Sandwich | 14 ~ 15 | 2011 |
Android 4.1.x ~ 4.3.x | Jelly Bean | 16 ~ 18 | 2012 |
Android 4.4.x | KitKat | 19 ~ 20 | 2013 |
Android 5.x | Lollipop | 21 ~ 22 | 2014 |
Android 6.x | Marshmallow | 23 | 2015 |
Android 7.x | Nougat | 24 ~ 25 | 2016 |
Android 8.x | Oreo | 26 ~ 27 | 2017 |
Android 9.x | Pie | 28 | 2018 |
Android 10.0 | - | 29 | 2019 |
Android 11.0 | - | 30 | 2020 |
728x90