- 리눅스 커널(Linux Kernel) : 안드로이드는 리눅스에 기반을 둔 오픈소스 소프트웨어 스택이다.
- 하드웨어 추상화 레이어(hardware abstraction layer, HAL) : 하드웨어의 추상화 계층, 상위의 자바 API 프레임워크에서 하드웨어 기능을 이용할 수 있게 표준 인터페이스를 제공
- 안드로이드 런타임(Android runtime, ART) : 앱을 실행하는 역할, 기존에는 Dalvik이 안드로이드 앱을 실행 하였지만 안드로이드 5.0버전부터 ART로 변경되었다.
앞서 안드로이드에서는 ART를 이용하여 앱을 실행한다고 하였다. 안드로이드에서는 자바 클래스(.class)를 그대로 실행하지 않고 DEX파일로 컴파일 수 ART에서 실행한다.
in JAVA
자바 소스(.java) → (컴파일) → 자바 바이트코드(.class) → 자바 가상 머신(JVM)
in Android
자바 소스(.java) → (컴파일) → 자바 바이트코드(.class) → (DEX 컴파일) → DEX 바이트 코드(.dex) → 안드로이드 런타임(ART)
'대학 > 안드로이드(코틀린) 정리' 카테고리의 다른 글
안드로이드 함수 선언 ( 코틀린 ) (0) | 2022.10.21 |
---|---|
안드로이드 데이터 타입( 코틀린 ) (0) | 2022.10.21 |
안드로이드 변수 선언하기( 코틀린 ) (0) | 2022.10.21 |
코틀린의 등장 배경/ 자바보다 좋은 점 (0) | 2022.10.21 |
안드로이드 앱 개발의 특징 (0) | 2022.10.21 |