APK

维基百科,自由的百科全书
跳转至: 导航搜索
APK
APK format icon.png
扩展名 .apk
互联网媒体类型 application/vnd.android.package-archive
格式 包管理器 存档文件
專門屬 软件包
延伸自 JARZIP
維基百科應用程式的APK安裝介面
绝大多数Android设备,比如Nexus 4,允许用户安装APK格式的文件来使用应用程序。

Android 应用程序包文件 (APK) 是一种Android操作系统上的应用程序安装文件格式,其英文全称为 “application package file” 。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件),文件资源(resources), assets,证书(certificates),和清单文件(manifest file)。[1][2][3][4]

APK 文件基于 ZIP 文件格式,它与JAR文件的构造方式相似。它的互联网媒体类型application/vnd.android.package-archive.[5]

结构[编辑]

一个APK文件通常包含以下文件:

  • META-INF 文件夹:
    • MANIFEST.MF: 清单信息(Manifest file)
    • CERT.RSA: 保存着该应用程序的证书和授权信息。
    • CERT.SF: 保存着 SHA-1 信息资源列表,比如:
 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=
  • res: APK所需要的资源文件夹。
  • AndroidManifest.xml: 一个传统的Android清单文件,用于描述该应用程序的名字、版本号、所需权限、注册的服务、链接的其他应用程序。该文件使用XML文件格式,可以编译为二进制的XML,使用的工具为 AXMLPrinter2apktool.
  • classes.dex: classes文件通过DEX编译后的文件格式,用于在Dalvik虚拟机上运行的主要代码部分。
  • resources.arsc

扩展阅读[编辑]

参考资料[编辑]

  1. ^ Inside the Android Application Framework (video). Google Sites. Google. 2008. 
  2. ^ Hatem Ben Yacoub. Tips: How to install apk files on Android Emulator. Open Handset Magazine. 19 January 2008. 
  3. ^ The Structure of Android Package (APK) Files. OPhone SDN. OPhone Software Developer Network. 17 November 2010. 
  4. ^ chibucks. Learn to Fish: General Structure of an APK. SDX-Developers Forum. Simple Machines Forum. 28 May 2010. 
  5. ^ Developer description of MIME type for .apk