Google Play APK扩展文件机制及开发流程详解

由于国内APP大都不需要发布到Google Play, 所以关于Google Play APK扩展文件的中文资料比较少。不过好在Google官方文档已经介绍的很详细了,本文部分内容也来自该文档。

官方参考链接:https://developer.android.com/google/play/expansion-files.html

关于Google Play的说明:Google Play有两种含义,一种指的是Google提供的应用发布平台,另一种指的是手机上的安装的Google Play商店这个APP。本文使用Google Play大多数情况下都是指的第一种含义,有时也会用作第二种含义,需要加以区分。

什么是APK 扩展文件

Google Play目前对apk文件的大小限制为100M,也就是说开发者在Google Play上发布app时,只能上传小于100M的apk文件。100M对一般的应用来说也足够了,但是对于游戏来说就显得有点太小了,很多游戏动辄几百M,甚至几个G的体积根本无法作为一个apk文件发布到Google Play上。 这时就需要应用在打包时做分包处理,核心的逻辑代码编译到apk文件中,脚本及资源部分则放到几个扩展文件中。然后分别将apk文件和扩展文件上传到Google Play。当app运行时,读取扩展文件内容,执行其中的代码和加载资源。

Google Play的APK扩展文件规则

目前Google Play支持一到两个扩展文件,每个扩展文件最大为2GB,也就是说整个app包括扩展文件在内最大不能超过4.1GB(两个2GB的扩展文件 + 一个100MB的apk文件)。Google Play对扩展文件的最小字节数没有限制, 只要不上传空文件就行,也不要求apk文件和扩展文件加起来要大于100MB,因此,上传一个1MB的apk文件和一个1KB的扩展文件也是可以的。

Google Play将两个扩展文件分别称为main扩展文件和patch扩展文件,第一次上传的扩展文件作为main扩展文件,之后可以追加patch扩展文件。虽然从名字上看,main扩展文件是一个主要的文件,而patch扩展文件则是一个补丁文件,但实际上main扩展文件和patch扩展文件对Google Play来说只是两个不同文件名的文件,它们的地位是完全一样的。Google Play对这两个的功能和使用没有做任何限制,完全由开发者自己决定哪些资源要放到main扩展文件中,哪些要放到patch扩展文件中。

两个扩展文件下载下来后的文件名是固定的,main扩展文件的文件名是main.<expansion-version>.<package-name>.obb,patch扩展文件的文件名是patch.<expansion-version>.<package-name>.obb。<expansion-version>表示该obb文件上传时所关联的apk文件的版本号(apk中AndroidManifest.xml中配置的android:versionCode字段的值),是一个整数值。<package-name>是apk的包名(apk中AndroidManifest.xml中配置的package字段的值)。扩展名始终为obb。文件名是上传时由Google Play自动重命名的,不需要开发者自己修改要上传文件的文件名。

Google Play对扩展文件的格式没有任何要求,可以是任意类型的文件。不过由于最多只能上传两个扩展文件,所以一般都会使用压缩文件的格式,以zip格式居多。

apk扩展文件下载到手机后放置的位置同样是固

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值