【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 扩展文件名格式 | 扩展文件下载存放地址 )

2023-03-29 16:23:13 浏览数 (2)

文章目录

  • 前言
  • 一、当前 Google Play 上传 APK 文件现状
  • 二、APK 扩展文件名格式
  • 三、APK 扩展文件下载地址
  • 四、博客资源

前言

2021年08月01日 之后 , Google 开始强制新应用必须使用 AAB 格式 的包 , 旧的应用仍可以使用 APK 格式的安装包 ;

目前 Google 不推荐使用 APK 包 , 连带 APK 扩展文件的支持也降低了 , 之前还可以动态修改 APK 扩展文件 , 现在只能在上传 APK 文件时添加扩展文件 ;

一、当前 Google Play 上传 APK 文件现状


Google Play 中上传 APK 文件大小限制到 100MB , 如果 APK 的大小超过 100MB , 则需要将超出部分放置到扩展文件中 ;

开发者可以将超出部分 , 放在扩展文件中 , 在 Google Play 管理中心 , 每个 APK 文件都可以添加

2

个扩展文件 , 每个扩展文件最大 2 GB ;

2

个扩展文件中 , 一个是 " 主扩展文件 " , 另外一个是 " 补丁扩展文件 " ;

补丁扩展文件 是可选项 , 用于为 主扩展文件 提供更新 , 可以不添加 ;

目前的 Google Play 管理中心中 , 扩展文件只能添加新的 APK 版本时添加 , 不能在上线后额外添加 ;

二、APK 扩展文件名格式


APK 文件的格式可以是任意格式的文件 , 不过一般都采用 zip 或 7z 压缩格式 , 极限压缩到最小 ;

Google 重构后的 APK 扩展文件名称都会是如下格式 :

代码语言:javascript复制
[main|patch].<expansion-version>.<package-name>.obb

APK 扩展文件的文件名分为

3

部分 :

  • [main|patch] : 如果是 主扩展文件 , 是 main ; 如果是 补丁扩展文件 是 patch ;
  • <expansion-version> : 这是当前 APK 的版本号 , 在 Module 下的 build.gradle 的 android.defaultConfig.versionCode 中定义 ;
代码语言:javascript复制
android {
    defaultConfig {
        versionCode 6
	}
}
  • <package-name> : 是应用的包名 , 如 com.example.app ;
  • obb : obb 是 Opaque Binary Blob 的缩写 ;

不管上传到 Google Play 管理平台 中是什么名称的文件 , 下载下来的文件都会是上述格式的 ;

如 : 当前的 APK 版本号是

6

, 当前是 主扩展文件 , 文件包名是 com.example.app , 则 主扩展文件 的名称是

代码语言:javascript复制
main.6.com.example.app.obb

当前的 APK 版本号是

188

, 当前是 补丁扩展文件 , 文件包名是 com.example.app , 则 补丁扩展文件 的名称是

代码语言:javascript复制
patch.188.com.example.app.obb

三、APK 扩展文件下载地址


从 Google Play 下载 APK 文件时 , 会同时下载 APK 扩展文件到

代码语言:javascript复制
<shared-storage>/Android/obb/<package-name>/

目录中 , 注意该文件不能删除 , 移动 , 重命名 , 启动应用时 , Android 系统会自动检查该 APK 扩展文件是否存在 , 如果不存在 , 会自动从 Google Play 中下载 , 如果 Google 发现该文件不存在 , 即使已经下载完了 , 还要重新下载一遍 , 浪费流量 ; 该文件就在这放着不动 ;

<shared-storage> 是 SD 卡根目录 ; <package-name> 是应用的包名 ;

下载完之后 , 可以将该文件解压到 内置存储 / SD 卡 中 , 不过这样就会导致一个文件始终占用两份存储空间 ;

Google 给出的方案是使用 Google 提供的 APK Expansion Zip Library 库 , 可以直接从 ZIP 压缩文件中读取文件 ; 这个库看情况吧 , 我要在 NDK 中读取文件 , 好像用不了 ;

四、博客资源

相关文档参考 :

  • APK 扩展文件 : https://developer.android.google.cn/google/play/expansion-files
  • Google Play 添加或测试 APK 扩展文件 : https://support.google.com/googleplay/android-developer/answer/2481797?hl=zh-Hans
  • 新版本 Google Play 控制台添加 APK 扩展文件 : https://www.codenong.com/14015134/

0 人点赞