在真机上3.17.1热更新 解压缩失败 cocos can not open downloaded zip 换回3.17就没问题

01-04 13:23:00.011 1354-1354/? D/Cocos2dxDownloader: onSuccess(i:200 headers:[Lcz.msebera.android.httpclient.e;@38795091 file:/data/data/com.test.mygame/files/update_temp/src.zip.tmp
01-04 13:23:00.039 1354-1415/? D/cocos2d-x debug info: AssetsManagerEx : can not open downloaded zip file /data/data/com.test.mygame/files/update_temp/src.zip
01-04 13:23:00.041 1354-1383/? D/cocos2d-x debug info: [LUA-print] 解压缩失败
01-04 13:23:00.042 1354-1383/? D/cocos2d-x debug info: [LUA-print] Asset 发生错误:更新失败 src.zip , Unable to decompress file /data/data/com.test.mygame/files/update_temp/src.zip

除了windows外, mac,ios,android都会有压缩问题

你查下是不是下载后的文件重命名的问题,可能下载完成后没有自动把 .tmp 去掉

对底层代码不熟,就是用的官方的热更新代码。 3.17也没有这个问题。电脑运行没有问题,打包成apk在安卓上就会出这个错。在安卓上也没看见src.zip或src.zip.tmp

本来用的3.17 ,但是mp3在手机上游戏要崩。看见3.17.1解决了这个问题,就准备换3.17.1,结果热更新解压缩这里又有问题

顶一下

文件在 /data 内存着,用 Android studio 的 Device File Explorer 可以看到

只有这一个文件project.manifest, 没看见zip文件,是文件其实没有下载下来么

热更还是有点问题的,看来要自己搞一套方案了

您好 我也遇到这个问题了,请问您解决了吗?

我也遇到这个问题了 也发了一个主题帖 可以帮忙看一下吗

没有,对底层代码不熟,也不知道哪里有问题。 只能先用3.17的。

好的,应该有不少人遇到这个问题了。

修改底层源码解决了,后续看官方如何修复。

请问如何修复的, 能否麻烦告知下

unzFile zipfile = unzOpen(FileUtils::getInstance()->getSuitableFOpen(outFileName).c_str());
改为:
ssize_t size = 0;
unsigned char *zipFileData = FileUtils::getInstance()->getFileData(outFileName, “rb”, &size);
unzFile zipfile = unzOpenBuffer(zipFileData, size);
实现

非常感谢

非常感谢,确实可以了

这个问题 需要更新第三方库解决

https://github.com/cocos2d/cocos2d-x/issues/19281

1赞

mark