APK
Android包(英语:,APK),是Android操作系统使用的一种应用进程包文档格式,用于分发和安装移动应用及中间件。一个Android应用进程的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文档才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。 一个APK文档内包含被编译的代码文档(.dex 文档),文档资源(resources), assets,证书(certificates),和清单文档(manifest file)。[1][2][3][4]
![]() | |
.apk 、.xapk 、.apks 、.apkm | |
application/vnd.android.package-archive | |
格式类型 | 包管理器 存档文档 |
作为容器 | 软件包 |
自 | JAR 和 ZIP |

维基百科应用程序的APK安装接口

绝大多数Android设备,比如Nexus 4,允许用户安装APK格式的文档来使用应用进程。
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,使用的工具为 AXMLPrinter2(页面存档备份,存于) 或apktool(页面存档备份,存于).classes.dex
: classes文档通过DEX编译后的文档格式,用于在Dalvik虚拟机上运行的主要代码部分。resources.arsc
:程序的语言文件,可以通过这软件用(AndroidResEdit等工具)来进行翻译
也可以用ApkTool等工具来反编译后再开始进行软件修改,亦可编译回来。
分发
APK格式由谷歌公司(Google)发布,但谷歌在其官方应用商店Google Play并不提供apk文档下载,用户只能通过安卓手机上的应用进程Play商店来在线安装其他应用。但有第三方的网站提供应用的APK下载,用户可以下载到手机,然后在本地安装,不过第三方网站提供的apk档有可能被窜改甚至加入恶意软件,用户需留意信息安全风险。
扩展阅读
参考文献
- (video). Google Sites. Google. 2008 [2012-01-08]. (原始内容存档于2011-12-24).
- Hatem Ben Yacoub. . Open Handset Magazine. 19 January 2008 [2012年1月8日]. (原始内容存档于2012年5月26日).
- . OPhone SDN. OPhone Software Developer Network. 17 November 2010 [2012年1月8日]. (原始内容存档于2011年8月15日).
- chibucks. . SDX-Developers Forum. Simple Machines Forum. 28 May 2010 [2012年1月8日]. (原始内容存档于2012年7月17日).
- . [2012-01-08]. (原始内容存档于2009-07-18).
外部链接
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.