안드로이드/이론관련

JAR, DEX, APK, AAR파일

닉네임못짓는사람 2021. 12. 20. 23:56
반응형

JAR(Java Acrchive)


JAR은 해당 플랫폼에서 JAVA 응용 프로그램을 배포하기 위해 고안된 패키지 파일 형식이다.

여기엔 컴파일된 Java클래스 파일과 MANIFEST와 같은 파일이 포함되어 있다.

기본적으로 일부 제한이 있는 ZIP 아카이브 형태이다.

 

DEX(Dalvik Excutable)


DEX는 바이너리 파일 형식으로 컴파일된다.

.dex파일은 DVM(Dalvik Virtual Machine)용이며, JVM용 .class파일과 유사하다.

 

DEX파일 형식은 실제로 Android SDK의 Dex 컴파일러에 의해 Java CLASS파일에서 생성된다.

이 컴파일러는 JVM바이트코드를 DVM바이트코드로 변환하고,

모든 클래스 파일을 하나의 Dex파일에 저장한다.

 

APK(Android Application Package)


APK는 자사 플랫폼에 안드로이드 어플리케이션을 배포하기 위해 설계된 파일 형식이다.

JAR포맷과 몇 가지 유사한 점이 있으며,  APK 또한 ZIP 아카이브 형태이지만, 미리 정의된 특정 구조가 있다.

예를 들어 항상 AndroidManifest.xml 파일 및 기타 파일이 포함되어 있어야 한다.

또한 이 패키지는 컴파일된 클래스를 dex형식으로 집계한다.

 

AAR(Android Archive)


AAR은 안드로이드 라이브러리 프로젝트의 바이너리 배포판이다.

APK와 비슷한 구조를 가지고있다.

 

출처 : https://stackoverflow.com/questions/33533370/difference-between-aar-jar-dex-apk-in-android

반응형