안드로이드 응용 프로그램 패키지(영어: Android application package, APK)는 안드로이드의 소프트웨어와 미들웨어 배포에 사용되는 패키지 파일이며, '.apk'확장자를 가진다. APK 파일은 우분투 같은 데비안 기반 운영 체제에서 사용하는 뎁 패키지와 마이크로소프트 윈도우에서 사용하는 MSI 패키지와 같은 설치 파일과 비슷하다. APK 파일을 만들려면, 안드로이드용 프로그램을 먼저 컴파일한 후, 모든 파일들을 하나의 패키지 파일로 모은다. APK 파일은 해당하는 프로그램의 모든 코드를 포함하며, 자원, 정보, 인증서 및 매니페스트 파일 등을 포함한다.[1][2][3][4]
![]() | |
파일 확장자 | .apk, .xapk |
---|---|
인터넷 미디어 타입 |
application/com.android.package-install always |
포맷 종류 | 패키지 포맷 |
안드로이드 응용 프로그램 패키지의 확장자는 .apk
로 ZIP파일 기반인 JAR를 기반으로 하며, 압축 파일의 한 종류이다. MIME 유형은 application/vnd.android.package-archive
이다.[5]
파일 구성
APK 파일에서 일반적으로 포함하는 파일 또는 내용은 아래와 같다.
META-INF
: 디렉토리:
Signature-Version: 1.0 Created-By: 1.0 (Android) SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE= ... Name: res/layout/exchange_component_back_bottom.xml SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w= ... Name: res/drawable-hdpi/icon.png SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
lib
: 프로세스와 연계된 소프트웨어 레이어를 포함하는 디렉토리. 이 디렉토리는 세부적으로 더 나뉘게 된다:res
: resources.arsc(아래 참고)에서 제외된 정보를 포함하는 디렉토리.assets
: AssetManager를 통해 검색 할 수 있는, 응용 프로그램의 정보를 포함하는 디렉토리.AndroidManifest.xml
: 추가적인 매니페스트 파일. 응용 프로그램의 이름, 버전, 액세스 권한, 라이브러리 파일을 정보를 포함한다. 이 파일은 이진 XML 파일로써 AXMLPrinter2, tool 또는 Androguard 과 같은 프로그램을 사용하면 일반적인 XML파일과 같이 볼 수 있다.classes.dex
: 달빅 가상 머신에 의해 dex 파일 형식으로 컴파일 된 영역.resources.arsc
: 이진 XML과 같은 선컴파일된 리소스를 포함하는 파일.
같이 보기
각주
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.