본문 바로가기
모바일 APP/Android with Kotlin

안드로이드 운영체제의 구조

by 살길바라냐 2021. 11. 30.

출처 : 안드로이드 개발자 사이트

 

리눅스 커널 (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
반응형

'모바일 APP > Android with Kotlin' 카테고리의 다른 글

모듈 구성 요소  (0) 2021.12.05
컴포넌트  (0) 2021.12.02
안드로이드 특징  (0) 2021.11.30
앱 서명  (0) 2021.11.28
배포 파일  (0) 2021.11.28