전체 글20 안드로이드 컴파일 과정 완전정리 ⑦ 마지막 편 - ART에서 CPU로 이전 글2026.02.19 - [안드로이드] - 안드로이드 컴파일 과정 완전정리 ⑥ 부록 - 앱 프로세스는 어떻게 시작되나? 안드로이드 컴파일 과정 완전정리 마지막 편 - ART에서 CPU로핵심 결론실행하는 주체는 항상 CPU다. CPU는 오직 기계어만 fetch/decode/execute 한다.“ART가 실행한다”는 말의 정확한 의미는 **CPU가 ‘ART라는 프로그램(기계어)’을 실행하고, 그 ART 프로그램이 DEX를 해석하거나(인터프리터) 기계어로 컴파일한다(JIT/AOT)**는 뜻이다.인터프리터만으로는 느릴 수밖에 없다. DEX opcode마다 “읽기→분기(dispatch)→동작 수행” 오버헤드가 반복된다.그래서 JIT가 “자주 도는 메서드”를 기계어로 컴파일해 이후 실행을 빠르게 만들고, 프로.. 2026. 2. 26. 안드로이드 컴파일 과정 완전정리 ⑥ 부록 - 앱 프로세스는 어떻게 시작되나? 이전 글2026.02.19 - [안드로이드] - 안드로이드 컴파일 과정 완전정리 ⑥ - ART란? 안드로이드 컴파일 과정 완전정리 ⑥ 부록 - 앱 프로세스는 어떻게 시작되나?이전 글(ART)에서 DEX는 단순한 바이트코드 파일이 아니라, 설치 시점 또는 백그라운드에서 dex2oat에 의해 AOT 컴파일될 수 있고, 실행 중에는 JIT와 프로파일링에 의해 추가 최적화가 이루어질 수 있다는 점까지 정리했다.그렇다면 다음 질문이 자연스럽게 따라온다.ART가 준비한 DEX/AOT 산출물은 언제, 어떤 맥락에서 실제 실행 경로에 올라오는가?이 부록은 그 연결 고리를 설명한다.앱이 설치된 뒤,사용자가 실행을 요청하면,시스템이 어떤 과정을 거쳐 새 리눅스 프로세스를 만들고,그 프로세스 안에서 ART 런타임이 올라오며.. 2026. 2. 25. 안드로이드 컴파일 과정 완전정리 ⑥ - ART란? 이전 글2026.02.19 - [안드로이드] - 안드로이드 컴파일 과정 완전정리 ⑤ 부록 - DEX 는 알겠고 APK 는요?안드로이드 컴파일 과정 완전정리 ⑥ - ART란?이전 글에서 DEX는 Android용 바이트코드 포맷이라고 정리했다.이제 질문은 하나다.그 DEX를 실제로 누가 실행시키는가?정답은 **ART(Android Runtime)**다.하지만 “ART가 실행한다”는 말은 정확하지 않다.실제로 실행하는 것은 항상 CPU다.ART는 그 CPU 실행을 가능하게 만드는 런타임 + 컴파일 시스템이다.0) 한 문장 정의 (정확한 버전)ART는 CPU 위에서 동작하는 소프트웨어이며,DEX 바이트코드를 인터프리터 또는 JIT/AOT 컴파일을 통해CPU가 실행 가능한 기계어로 연결해주는 실행 환경이다.이 정.. 2026. 2. 24. 안드로이드 컴파일 과정 완전정리 ⑤ 부록 - DEX 는 알겠고 APK 는요? 이전 글2026.02.19 - [안드로이드] - 안드로이드 컴파일 과정 완전정리 ⑤ - DEX 란? 안드로이드 컴파일 과정 완전정리 ⑤ 부록 - DEX 는 알겠고 APK 는요?이전 글에서 DEX가 Android용 바이트코드 포맷이고, D8/R8이 .class → .dex를 만든다고 정리했다. 이번 글은 그 DEX가 “어디에 담겨서 배포/설치되는가”인 APK를 다룬다.핵심 결론부터 잡는다.APK는 실행파일이 아니라 “패키지(묶음)”다. 즉, 앱을 구성하는 파일들을 한 덩어리로 포장한 컨테이너다. (Android Developers)APK 안에는 보통 classes.dex, 리소스 파일들, AndroidManifest.xml, (빌드/서명 방식에 따라) 서명 관련 데이터가 들어간다. (Android Deve.. 2026. 2. 23. 이전 1 2 3 4 5 다음