APK가 만들어지는 과정
(1) .java 파일 -> java 컴파일러로 자바 바이트 코드로 변환 -> .class
(2) .class -> Dex 컴파일러로 dex 파일(DVM에서 실행 가능)로 변환 -> .dex
(3) dex 파일 & 리소스를 포함한 기타 라이브러리 압축 -> APK(Android application Package)
DVM 컴파일러(JIT)
JIT(Just In Time): DVM 내부 컴파일러
(Android 2.2(Froyo)부터 적용)
애플리케이션 바이트 코드를 VM에서 기계어로 변환한 결과를 캐쉬에 저장
.dex파일 ->dexopt 툴을 이용해 .odex파일로 변형 -> DVM JIT 컴파일러로 기계어로 번역