Android扩展(obb)补丁文件版本号

时间:2016-04-19 08:04:03

标签: android zip patch expansion apk-expansion-files

我已使用巨大的扩展(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”?

0 个答案:

没有答案