APK

Android包（，APK），是Android操作系统使用的一种应用程序包文件格式，用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行，必须先进行编译，然后被打包成为一个被Android系统所能识别的文件才可以被运行，而这种能被Android系统识别并运行的檔案格式便是“APK”。 一个APK文件内包含被编译的代码文件(.dex 文件)，文件资源（resources）， assets，证书（certificates），和清单文件（manifest file）。

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

 结构 

一个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檔有可能被篡改甚至加入惡意軟體，用戶需留意資訊安全風險。

 在其他操作系统上的使用 
黑莓公司 通过 Android Runtime 支持运行 Android 4.1 Jelly Bean 及更高版本的应用程序，并通过 2014 年 1 月的 10.2.1 固件更新支持至已停止服务的 BlackBerry 10系统。2014 年 6 月 18 日，黑莓宣布与亚马逊建立合作关系，并在 10.3 更新中集成 亚马逊应用商店。

在 2015 年的 Build 大会上，微软宣布为 Windows 10 Mobile 提供一个名为“阿斯托里亚 (Astoria)”的 Android 运行环境，使 Android 应用能够在模拟环境中运行，并且只需进行少量更改即可，同时可以使用微软平台 API，例如 Bing Maps 和 Xbox Live，作为相当于 Google流動服務 的替代方案。Google 移动服务及某些核心 API 不会被支持，且在后台任务中有“深度集成”的应用程序在此环境中可能无法良好运行。

2016年2月25日，在已经于2015年11月延迟发布后，微软宣布将搁置 “Astoria” 项目，理由是该工具包与原生 Windows Bridge 工具包存在冗余，因为 iOS 已经是移动应用开发的主要目标。公司还鼓励使用Xamarin（前一天刚被微软收购）的产品，通过C♯编程语言进行多平台应用程序开发。“Astoria” 项目中的部分技术后来成为 Windows 10 PC 版本上的 适用于Linux的Windows子系统 (WSL) 平台的基础之一。

2019年8月9日，鸿蒙操作系统 (HarmonyOS) 通过Android开源项目 (AOSP) 基于Linux内核的基础实现了APK兼容性，HarmonyOS 1.0 首先用于电视设备。2021年6月2日，HarmonyOS 2.0 版本进一步扩展到智能手机和平板电脑，直到HarmonyOS NEXT系统推出 Galaxy Edition 版本，并计划在2024年第二季度发布的 HarmonyOS 5 Beta 商业版本中继续迭代更新。

在2021年6月的Windows 11发布会上，微软展示了新的Windows Subsystem for Android (WSA)，这将支持Android开源项目 (AOSP)，允许用户在Windows桌面上运行安卓应用。微软确认，用户可以将从第三方源下载的APK文件安装到Windows中。2024年3月5日，微软宣布将于2025年3月5日停止Windows 11的Android应用子系统支持，这是其逐步取消Windows NT内核对Android APK应用兼容性的一部分，届时包括来自亚马逊应用商店的安卓应用也将不再支持。

2021年12月，谷歌宣布计划在2022年将Android游戏引入Windows平台。

 扩展阅读 
Android软件开发
Android App Bundle (AAB)

 参考文献 

外部連結

Category:Android
Category:文件格式