플랫폼 ( 내 경우 안드로이드 스튜디오)의 실제적인 동작 구조 또는 형태를 말한다. 우리가 작성한 소스 코드가 디바이스에 설치되면 이 아키텍처 구조 안에서 모든 동작이 결정된다.
APK ( Android Package ) : 설치파일
앱 내의 APK 파일을 설치하면 리눅스에서 실행 가능한 파일로 안드로이드폰 내부에서 한 번 더 컴파일한다.
소스 코드를 변환해서 안드로이드에서의 실행 파일인 APK 파일로 만드는 것을 빌드라고 한다. 소스 코드를 기계어로 변환한 후 라이브러리와 연결해서 실제 실행 파일로 만드는 과정을 일컫는 용어다.
안드로이드가 새롭게 제안하는 APK 파일을 대처하는 빌드 파일 형태다. AAB 파일 형태로 앱을 등록하면 사용자가 앱을 다운로드할 때 사용자의 디바이스에 필요한 모듈만 골라서 APK 파일로 다시 생성해준다. 대충 APK에서 한 단계 발전된 형태라고 보면 될 것 같다.
Ahead Of Time 의 준말. 설치 파일의 일부가 리눅스 운영체제에서 실행할 수 있는 파일 형태로 한 번 더 컴파일 되는 구조.
AOT 컴파일이 있고 JIT 컴파일이 있는데, 둘 다 컴파일을 두 번 하는 구조다. AOT 는 디스크 용량을 많이 차지하고 JIT 는 디스크 용량을 적게 차지하지만 그만큼의 성능차이가 있다. 둘은 이렇게 장단이 있기 때문에 디스크 자원을 효율적으로 사용하기 위해 안드로이드는 상황에 맞춰 컴파일을 두 번 한다.