What type of files does the Android Runtime (ART) execute?
Android Runtime (ART)는 DEX (Dalvik Executable) 파일을 실행합니다.
1. DEX 파일이란?
DEX 파일은 Dalvik Executable의 약자로, Java 소스 코드를 컴파일한 후 생성되는 바이트코드 파일입니다.
안드로이드 애플리케이션은 보통 Java 또는 Kotlin으로 작성되고, 이를 컴파일하면 먼저
.class
파일이 생성됩니다.그런 다음, 여러
.class
파일이 모여 하나의 DEX 파일로 변환됩니다.이 변환은 dx 도구나 최신 빌드 시스템에서 수행됩니다.
2. ART와 DEX 파일
ART는 안드로이드의 애플리케이션 실행 환경으로, DEX 파일을 실행 가능한 형태로 처리합니다.
ART는 Just-In-Time (JIT) 컴파일 또는 Ahead-Of-Time (AOT) 컴파일을 통해 DEX 바이트코드를 네이티브 코드로 변환하여 실행합니다.
AOT 컴파일: 앱 설치 시, DEX 파일을 네이티브 코드로 미리 변환하여 실행 속도를 높입니다.
JIT 컴파일: 실행 중인 애플리케이션의 DEX 파일 일부를 네이티브 코드로 즉시 변환합니다.
3. DEX 파일의 특징
경량화: DEX 파일은 모바일 환경에서 최적화된 경량 바이트코드 형식을 사용합니다.
멀티플랫폼 지원: ART는 다양한 하드웨어 아키텍처에서 실행 가능하도록 설계되었습니다.
압축 및 최적화: DEX 파일은 메모리와 성능을 최적화하기 위해 여러
.class
파일을 합치고 압축합니다.
4. 관련된 파일들
.odex 파일: Optimized DEX 파일로, 실행 속도를 높이기 위해 DEX 파일이 최적화된 형태입니다.
APK 파일: DEX 파일은 최종적으로 APK(애플리케이션 패키지) 안에 포함되어 배포됩니다.
Last updated