我已使用巨大的扩展(obb)文件将我的应用程序上传到Play商店。一切都很好,没问题。但现在我必须向扩展文件上传一个小更新。我想使用补丁扩展文件,因为我不想强迫用户再次下载大的主扩展文件。从理论上讲,这似乎是一件容易的事。
从开发者页面:
// Get a ZipResourceFile representing a merger of both the main and patch files
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(appContext,
mainVersion, patchVersion);`
我以这种形式使用过它:
ZipResourceFile expansionFile =
APKExpansionSupport.getAPKExpansionZipFile(appContext,
14, 0);'
没有补丁文件且没有问题。
但如果我尝试修改此代码,我就会遇到问题。
我当前的版本 19 ,但我仍然使用 14 版本的主扩展文件。当我测试我的应用程序时,我使用14作为我的补丁文件的版本号(patch.14.com.exaple),将补丁文件直接复制到我的手机并使用此代码:
ZipResourceFile expansionFile =
APKExpansionSupport.getAPKExpansionZipFile(appContext,
14, 14);
一切都很好,应用程序在ZipResourceFile中找到更新的文件,这是真的,“ZipResourceFile表示主文件和补丁文件的合并” ...
我已尝试在开发者控制台中上传修改后的apk和补丁文件,但在上传后我意识到它将补丁文件的名称更改为当前版本号:patch.19.com.exaple而我不能将其更改回14.所以我取消了上传并修改了代码:
ZipResourceFile expansionFile =
APKExpansionSupport.getAPKExpansionZipFile(appContext,
14, 19);
但之后应用程序没有找到更新的文件 - 似乎它只使用主文件。我试图在手机上测试它,更改obb文件的文件名和应用程序中的代码,我发现,只有版本号相同时,这种“合并”才有效。但在这种情况下,整个“主要和修补程序obb文件”完全无用(至少在APKExpansionSupport.getAPKExpansionZipFile的上下文中),因为我无法在以后使用早期版本的版本号上传补丁文件。 的
所以我的问题是: 如果两个文件名中的版本号不同,我如何获得“表示主文件和补丁文件合并的ZipResourceFile”?