文章目录

  • 前言
  • 一、当前 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 文件都可以添加 222 个扩展文件 , 每个扩展文件最大 2 GB ;

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

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

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

二、APK 扩展文件名格式


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

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

[main|patch].<expansion-version>.<package-name>.obb

APK 扩展文件的文件名分为 333 部分 :

  • [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 版本号是 666 , 当前是 主扩展文件 , 文件包名是 com.example.app , 则 主扩展文件 的名称是

main.6.com.example.app.obb

当前的 APK 版本号是 188188188 , 当前是 补丁扩展文件 , 文件包名是 com.example.app , 则 补丁扩展文件 的名称是

patch.188.com.example.app.obb

三、APK 扩展文件下载地址


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

<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/

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

  1. 【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 制作 APK 扩展包 | 上传 APK 扩展包到 Google Play | APK 扩展文件上传时机 )

    文章目录 一.制作 APK 扩展包 二.上传 APK 和 主扩展文件到 Google Play 三.APK 扩展文件上传时机 一.制作 APK 扩展包 apk.txt 内容 : APK 扩展文件测试文 ...

  2. 【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 内部测试链接 | 安装 Google Play 中带 扩展文件 的 APK 安装包 | 验证下载的扩展文件 )

    文章目录 前言 一.获取内部测试邀请链接 二.在手机中打开内部测试邀请链接 三.检查 APK 扩展文件 前言 参考 [Google Play]内部测试版本分发设置 ( 测试链接 | 配置测试权限 | ...

  3. 【Google Play】APK 扩展包 ( 2021年09月 最新处理方案 | 文件准备 | 拷贝文件至内置存储 | 解压及使用扩展文件 )

    文章目录 前言 一.文件准备 二.拷贝文件至内置存储 三.解压及使用扩展文件 四.博客资源 前言 在上一篇博客 [Google Play]APK 扩展包 ( 2021年09月02日最新处理方案 | 内 ...

  4. 09月02日星期一 恒指/美原油/美黄金 走势分析

    财经早餐 2019年09月02日星期一 重点关注的财经数据与事件 (因美国劳动节,美股休市一日,CME及ICE部分合约提前收市) ① 09:45 中国8月财新制造业PMI终值 ② 14:30 瑞士7月 ...

  5. IDEA Vue.js插件 2021年1月21日最新

    IDEA开发VUE时,需要下载Vue.js插件,但国外的资源有时候很难下下来,可以离线下载插件再安装 官网下载地址:https://plugins.jetbrains.com/plugin/9442- ...

  6. 【错误记录】Android Studio 的 Flutter 代码界面没有 Logcat 面板 ( 2021年08月28日最新解决方案 )

    文章目录 前言 一. 报错信息 二. 解决方案 前言 在之前的博客 [错误记录]Android Studio 的 Flutter 代码界面没有 Logcat 面板 中 , 处理了该问题 , 不过时去年 ...

  7. 2021年5月19日最新快手半自动刷金币

    开宝箱 看直播 刷限时任务 也是用王者荣耀挑战改的 打开快手,点红包进入任务中心,把显示任务和最上方对齐,然后运行程序,不同的手机像素点不一样,可以用画图工具改一下 按截图这个把"1100金 ...

  8. 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日

    马林固件最新版本翻译注释 /*============================================================================== Marlin ...

  9. 2021年6月27日 root Redmi Note 8

    仅供学习使用,请勿用于商业或违法用途,否则产生的一切后果由使用者自负. root Redmi Note 8 解锁BootLoader 2021年6月26日晚,账号与设备绑定时间已超过一周,可以解锁Bo ...

最新文章

  1. 小白如何在Windows如何安装双系统Centos7
  2. C语言之prinf的用法
  3. ios消息推送机制原理与实现(转)
  4. 设计模式(3):抽象工厂模式(Abstract Factory Pattern)
  5. 去重查询表mysql 中数据
  6. zookeeper3.4.5集群安装
  7. PHP学习笔记之PDO
  8. cacti mysql 压缩 备份_CactiEZ备份和恢复
  9. (详解)----冒泡排序---(图解)
  10. sublime 快捷键不能使用
  11. 沪深300指数的跟踪基金排名
  12. ORA-1652: unable to extend temp segment by 128 in tablespace TEMP解决
  13. Opencv实现颜色检测
  14. 个人理财管理系统代码
  15. GeoServer中的WPS服务-概念
  16. Javase day06_汇总
  17. web期末作业设计网页:动漫网站设计——蜡笔小新(10页) HTML+CSS+JavaScript 学生DW网页设计作业成品 动漫网页设计作业 web网页设计与开发 html实训大作业...
  18. 103 THREE.JS 实现局部纹理刷新
  19. 计算机软件工程考研考哪些专业,2022考研:软件工程考研考什么科目?
  20. 为什么要学习网络协议?

热门文章

  1. XenDesktop7-基于SCVMM2012SP1的部署
  2. VC++软件工程师高端培训
  3. CentOS6.3 下启动Oracle service和listener
  4. 黑马lavarel教程---5、模型操作(AR模式)
  5. 分享几篇VMP研究和分析的文章
  6. node express 学习笔记
  7. Linux 高性能服务器编程——socket选项
  8. mysql字段中ID值自动增长
  9. WebService安全 身份验证与访问控制
  10. Python多线程学习