Operating System Architecture
Linux kernel
안드로이드는 리눅스 커널을 기반으로 한다.
HAL(Hardware Abstraction Layer)
소프트웨어와 하드웨어 간의 인터페이스를 제공하며, 상위 소프트웨어가 하드웨어를 직접 다루지 않고도 하드웨어를 사용할 수 있게 해주는 계층을 말한다.
ART(Android Runtime) and Libraries
ART는 안드로이드 애플리케이션의 실행을 담당하며, 컴파일 된 DEX 파일을 해석한다.
또한 안드로이드 시스템에는 C/C++ 등으로 작성된 여러 라이브러리가 있다.
Application Framework
안드로이드 애플리케이션 개발을 위한 API와 도구들이 포함된 영역이다.
Application
사용자가 실제로 상호 작용하는 애플리케이션들이다.
Version
Version | Code Name | API Level | Release Year |
---|---|---|---|
Android 1.0 | - | 1 | 2008 |
Android 1.1 | Peiti 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. - 4.3.x | Jelly Bean | 16-18 | 2012-2013 |
Android 4.4.x | KitKat | 19-20 | 2013 |
Android 5.x | Lollipop | 21-22 | 2014-2015 |
Android 6.x | Marshmallow | 23 | 2015 |
Android 7.x | Nougat | 24-25 | 2016 |
Android 8.x | Oreo | 26-27 | 2017 |
Android 9.0 | Pie | 28 | 2018 |
Android 10.0 | - | 29 | 2019 |
Android 11.0 | - | 30 | 2020 |
Android 12.0 | - | 31 | 2021 |
Component
Activity
화면을 구성하는 컴포넌트이다.
Service
백그라운드 작업을 하는 컴포넌트이다.
ContentProvider
앱의 데이터를 공유하는 컴포넌트이다.
BroadcastReceiver
시스템 이벤트가 발생할 떄 실행되게 하는 컴포넌트이다.
출처: 강성윤, 「Do it! 깡샘의 안드로이드 앱 프로그래밍 with 코틀린」, 이지스퍼블리싱