关于 Android 应用包

Android 应用包是一种发布格式,其中包含您应用的所有已编译代码和资源,并将 APK 生成和签名推迟到 Google Play。

Google Play 使用您的应用包为每个设备配置生成和提供优化的 APK,因此只有运行您的应用所需的代码和资源才会下载到设备上。您不再需要构建、签名和管理多个 APK 来优化对不同设备的支持,用户可以获得更小、更优化的下载。

大多数应用项目不需要太多工作就能构建支持提供优化 APK 的应用包。如果您已经根据既定约定 组织应用的代码和资源,则可以使用 Android Studio 或 使用命令行 构建已签名的 Android 应用包,并 将其上传到 Google Play,然后优化 APK 提供将成为一项自动优势。

当您使用应用包格式发布应用时,您还可以选择利用 Play 功能交付,这允许您向应用项目添加功能模块。这些模块包含仅根据您指定的条件包含在应用中的功能和资源,或者稍后可在运行时下载 使用 Play Core 库

使用应用包发布其应用的游戏开发者可以使用 Play 资源交付:Google Play 提供的大量游戏资源交付解决方案,为开发者提供灵活的交付方法和高性能。

观看以下视频,了解为什么应使用 Android 应用包发布您的应用。

压缩下载大小限制

使用 Android 应用包发布有助于您的用户以尽可能小的下载量安装您的应用,并增加压缩下载大小。也就是说,当用户下载您的应用时,安装您的应用所需的压缩 APK 的总大小(例如,基础 APK + 配置 APK)不得超过 4 GB。任何后续下载,例如按需下载功能模块(及其配置 APK),也必须满足此压缩下载大小限制。资源包不会影响此大小限制,但它们确实有其他 大小限制

如果 Play 管理中心发现您的应用或其按需功能的任何可能的下载都超过了 最大大小限制,您将收到错误消息。

请记住,Android 应用包不支持 APK 扩展(*.obb)文件。因此,如果您在发布应用包时遇到此错误,请使用以下资源之一来减小压缩 APK 下载大小

  • 确保通过为每种类型的配置 APK 设置 enableSplit = true启用所有配置 APK。这确保用户仅下载在其设备上运行您的应用所需的代码和资源。
  • 确保通过删除未使用的代码和资源来 缩减您的应用
  • 遵循最佳实践以进一步 减小应用大小
  • 考虑将仅部分用户使用的功能转换为 功能模块,您的应用以后可以按需下载这些模块。请记住,这可能需要对您的应用进行一些重构,因此请确保首先尝试前面描述的其他建议。

其他注意事项

使用 Android App Bundle 构建或部署应用时,已知存在以下问题。如果您遇到此处未描述的问题,请报告错误

  • 侧载应用(即未通过 Google Play 商店安装且缺少一个或多个必需拆分 APK 的应用)的部分安装会在所有 Google 认证的设备和运行 Android 10(API 级别 29)或更高版本的设备上失败。通过 Google Play 商店下载您的应用时,Google 会确保安装应用的所有必需组件。
  • 如果您使用动态修改资源表的工具,则从 App Bundle 生成的 APK 可能会出现意外行为。因此,在构建 App Bundle 时,建议您禁用此类工具。

  • 您可以在功能模块的构建配置中配置与基础模块(或其他模块)中的属性冲突的属性。例如,您可以在基础模块中设置buildTypes.release.debuggable = true,并在功能模块中将其设置为false。此类冲突可能会导致构建和运行时问题。请记住,默认情况下,功能模块会继承基础模块中的一些构建配置。因此,请确保您了解在功能模块构建配置中应保留哪些配置以及应省略哪些配置。

其他资源

要了解有关 Android App Bundle 的更多信息,请参阅以下资源。

博客文章

视频