文章目录
- 前言
- 一、当前 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 GB ;
个扩展文件中 , 一个是 " 主扩展文件 " , 另外一个是 " 补丁扩展文件 " ;
补丁扩展文件 是可选项 , 用于为 主扩展文件 提供更新 , 可以不添加 ;
目前的 Google Play 管理中心中 , 扩展文件只能添加新的 APK 版本时添加 , 不能在上线后额外添加 ;
二、APK 扩展文件名格式
APK 文件的格式可以是任意格式的文件 , 不过一般都采用 zip 或 7z 压缩格式 , 极限压缩到最小 ;
Google 重构后的 APK 扩展文件名称都会是如下格式 :
代码语言:javascript复制[main|patch].<expansion-version>.<package-name>.obb
APK 扩展文件的文件名分为
部分 :
[main|patch]
: 如果是 主扩展文件 , 是 main ; 如果是 补丁扩展文件 是 patch ;<expansion-version>
: 这是当前 APK 的版本号 , 在 Module 下的 build.gradle 的 android.defaultConfig.versionCode 中定义 ;
android {
defaultConfig {
versionCode 6
}
}
<package-name>
: 是应用的包名 , 如 com.example.app ;obb
: obb 是 Opaque Binary Blob 的缩写 ;
不管上传到 Google Play 管理平台 中是什么名称的文件 , 下载下来的文件都会是上述格式的 ;
如 : 当前的 APK 版本号是
, 当前是 主扩展文件 , 文件包名是 com.example.app , 则 主扩展文件 的名称是
代码语言:javascript复制main.6.com.example.app.obb
当前的 APK 版本号是
, 当前是 补丁扩展文件 , 文件包名是 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/