안드로이드 응용 프로그램 패키지

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
안드로이드 응용 프로그램 패키지
APK format icon.png
확장자 .apk
MIME 종류 application/vnd.android.package-archive
개발 구글
파일 포맷 종류 소프트웨어 패키지
표준 JAR, ZIP

안드로이드 응용 프로그램 패키지(영어: Android application package, APK)는 안드로이드소프트웨어미들웨어 배포에 사용되는 패키지 파일이며, '.apk'확장자를 가진다. APK 파일은 우분투 같은 데비안 기반 운영 체제에서 사용하는 뎁 패키지마이크로소프트 윈도에서 사용하는 MSI 패키지와 같은 설치 파일과 비슷하다. APK 파일을 만들려면, 안드로이드용 프로그램을 먼저 컴파일한 후, 모든 파일들을 하나의 패키지 파일로 모은다. APK 파일은 해당하는 프로그램의 모든 코드를 포함하며, 자원, 정보, 인증서 및 매니페스트 파일 (en:Manifest file) 등을 포함한다.[1][2][3][4]

안드로이드 응용 프로그램 패키지의 확장자는 .apkZIP파일 기반인 JAR를 기반으로 하며, 압축 파일의 한 종류이다. MIME 유형은 application/vnd.android.package-archive이다.[5]

파일 구성[편집]

APK 파일에서 일반적으로 포함하는 파일 또는 내용은 아래와 같다.

 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 : 프로세스와 연계된 소프트웨어 레이어를 포함하는 디렉토리. 이 디렉토리는 세부적으로 더 나뉘게 된다:
    • armeabi : ARM 기반 프로세서 전용으로 컴파일 된 코드.
    • armeabi-v7a : ARMv7 와 그것을 기반으로 하는 프로세서 전용으로 컴파일 된 코드.
    • x86 : x86 기반 프로세서 전용으로 컴파일 된 코드.
    • mips : MIPS 기반 프로세서 전용으로 컴파일 된 코드.
  • res : resources.arsc(아래 참고)에서 제외된 정보를 포함하는 디렉토리.
  • assets : AssetManager를 통해 검색 ​​할 수 있는, 응용 프로그램의 정보을 포함하는 디렉토리.
  • AndroidManifest.xml: 추가적인 매니페스트 파일. 응용 프로그램의 이름, 버전, 액세스 권한, 라이브러리 파일을 정보를 포함한다. 이 파일은 이진 XML 파일로써 AXMLPrinter2, tool 또는 Androguard 과 같은 프로그램을 사용하면 일반적인 XML파일과 같이 볼 수 있다.
  • classes.dex : 달빅 가상 머신에 의해 dex 파일 형식으로 컴파일 된 영역.
  • resources.arsc : 이진 XML과 같은 선컴파일된 리소스를 포함하는 파일.

같이 보기[편집]

각주[편집]

  1. “Inside the Android Application Framework” (video). 《Google Sites》. Google. 2008. 
  2. Hatem Ben Yacoub (2008년 1월 19일). “Tips: How to install apk files on Android Emulator”. 《Open Handset Magazine》. 
  3. “The Structure of Android Package (APK) Files”. 《OPhone SDN》. OPhone Software Developer Network. 2010년 11월 17일. 
  4. chibucks (2010년 5월 28일). “Learn to Fish: General Structure of an APK”. 《SDX-Developers Forum》. Simple Machines Forum. 
  5. “Developer description of MIME type for .apk”. Androidguys.com. 2008년 10월 21일. 2012년 8월 20일에 확인함.