개발 공부/안드로이드

Compile과 Android Build

yong_DD 2023. 8. 22. 16:57

 Compile 

작성한 고급 언어를(Java, Kotlin 등) 컴퓨터가 읽을 수 있는 기계어(어셈블리어 등)로 변환하는 프로세스

 Build

해당 코드를 컴파일  후  apk 파일(실행 파일)로 만드는 것

 

Build와 실행시 동작

리눅스 기반인 안드로이드는 apk의 일부를 리눅스에서 실행할 수 있는 파일로 한 번 더 컴파일 하고 AOT(Ahead of Time, 선행)로 작업을 한다.

그 후 앱이 실행되면 나머지를 JIT(Just-in-Time, 적기)로 컴파일을 하게 된다.

AOT와 JIT로 나눠서 컴파일을 하는 이유는 처음에 전체를 컴파일하게 되면 속도는 빠르지만 그만큼 디스크에 많은 용량을 차지하게 되므로 장단점을 살려 2번 컴파일 하고 있다.

 


참고 

 

안드로이드 개념) Complie, Build와 Gradle

Compile이란 고급 언어로 작성한 프로그램을 번역하고, 기계가 실행할 수 있는 형식인 기계어의 프로그램으로 변환하는 활동입니다. Compiler 란 Compile을 실제로 실시하는 소프트웨어 또는 프로그램

goni95.tistory.com

 

[안드로이드 아키텍처] 소스 코드는 어떻게 앱이 되고 스마트폰에서 실행될까?

안드로이드 아키텍처는 플랫폼의 실제적인 동작 구조 또는 형태를 말합니다. 작성한 소스 코드가 디바이스에 설치되면 이 아키텍처 구조 안에서 모든 동작이 결정됩니다.코드는 어떻게 앱으로

m.hanbit.co.kr

 

 

Compile - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

컴파일(Compile)은 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로그램으로 변환하는 프로세스입니다. 컴파일러는이 작업을 실행하는 소프트웨어입니다. 때로는이 작업을 "

developer.mozilla.org