APK:Android应用程序包
简介
APK 是 Android 用于分发和安装应用程序的文件格式。因此,APK 包含应用程序在设备上正确安装所需的所有组件。
APK 是一个归档文件,这意味着它包含多个文件以及关于这些文件的元数据。您可能听说过其他形式的归档文件,例如 ZIP 和 RAR。如果您拥有 Android 智能手机,您可能听说过 APK 这个词并想知道它的含义。虽然您可以在不了解 APK 代表什么的 情况下使用 Android,但这样做将帮助您更好地理解和欣赏该平台。
什么是 APK?
APK 是 Android 操作系统中使用的应用程序文件格式,以及手机、电子游戏和中间件中各种其他基于 Android 的运行程序的分发和安装格式。APK 类似于其他 Microsoft Windows 软件包,例如 Debian 软件应用程序中的 Debian 包或 APPX。
通常,归档文件(如 ZIP)用于将多个文件捆绑成一个文件,从而使它们更易于携带或压缩以节省空间。当使用文件归档来交付软件时,它被称为软件包。
由于大多数 Android 都是用 Java 编写的,因此 APK 是 JAR(Java 归档)文件类型的变体。APK 在其核心都是 ZIP 文件,但它们必须具有其他信息才能有效地作为 APK 运行。
APK 的历史
当开发人员制作 Android 应用程序时,他们很可能正在使用 Android Studio,这是官方的 Android 编程工具。当应用程序准备好部署时,Android Studio 会对其进行编译并将所有内容放在一个容器中——一个 APK。
APK 可以使用任何它们选择的名称,但它们必须具有 .apk 文件扩展名,以便操作系统能够理解它们。当您下载 APK 时,文件名通常如下所示:com.google.android.dialer_66.0.374464860.apk
这是 Google 电话 APK 名称的(缩短)版本。整个应用程序名称与程序的 Google Play 页面 URL 中的文件名匹配:
https://play.google.com/store/apps/details?id=com.google.android.dialer由于此类大型程序不断更新,因此末尾的数字表示当前版本,可能非常详细。
APK 内容
Android 的 APK 文件是一个归档文件,通常包含以下文件和目录:
META-INF 文件夹
它包含清单文件。
应用程序的证书。
资源列表
lib
这是一个包含特定于平台的构建代码的目录。
res
未在 arsc 中编译的资源存储在此目录中。assets:AssetManager 从此位置检索应用程序资源。
AndroidManifest
这是一个补充的 Android 清单文件,它标识应用程序的名称、版本、访问权限和相关库文件。
classes.dex
这些是已编译为 dex 文件格式的类,Dalvik 虚拟机和 Android 运行时都可以理解。
资源
这是一个包含预编译资源(如二进制 XML)的文件。
APK 在 Android 和其他操作系统上的用途
APK 文件用于在 Android 设备上安装应用程序。它们与用于在 Windows 10 中安装 Store 应用程序的 APPX 文件相同,以及其他平台上的类似包文件。当您在设备上打开 APK 时,它包含安装说明和有关包本身的信息。
当您转到 Google Play 下载或更新应用程序时,商店通常会为您下载 APK。从这个意义上说,Play 商店也充当包管理器,这是一个用于方便地在设备上安装、更新和删除应用程序的工具。
但是,由于 Android 的开放性,Google Play 并不是查找和安装 APK 的唯一选择。可以轻松地从其他地方下载 APK 文件,将其移动到智能手机,然后手动安装它。
结论
Android 操作系统上使用的程序的文件格式是 APK。Android Studio 是开发 Android 软件的官方集成开发环境 (IDE),用于组装 APK 文件。
APK 扩展文件用于存储媒体文件、高保真图像或其他会导致 APK 超过大小限制的重要资源。APK 文件还可以发送给其他 Android 用户以安装在他们的设备上。
常见问题
1. 什么是可扩展标记语言 (XML)?
XML 是当今用于通信结构化信息(本地和跨网络)最广泛使用的格式之一:程序之间、人与人之间以及计算机与人之间。如果您熟悉 HTML,您会发现 XML 非常相似。
2. 什么是 ZIP?
压缩 (ZIP) 文件需要的存储空间更少,并且可以比未压缩的文件更快地传输到其他计算机。在 Windows 中,您处理压缩文件和文件夹的方式与处理未压缩文件和文件夹的方式相同。
3. 什么是 Android 操作系统?
Android 操作系统是一个基于 Linux 的移动操作系统,主要用于智能手机和平板电脑。Android 平台具有基于 Linux 内核的操作系统、图形用户界面、Web 浏览器以及可以下载的最终用户应用程序。操作系统 (OS) 是在启动程序将操作系统加载到机器后处理计算机中所有其他应用程序程序的软件。