CocosCreator AssetsManager 热更新下载失败 2021-08-16 技术,Android,Cocos Creator 暂无评论 4600 次阅读 CocosCreator的热更新机制很早前就了解过,也做过相应的demo验证通行正确。因为最近两天换了服务器地址,重新布置了网站,于是想要测试一下之前放置在网站目录下的更新资源是否生效。 不看不知道,一看就GG,应用提示更新失败,错误码j**sb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST**。意思就是下载服务器的manifest文件失败了呗,于是我手动输入对应网址,竟然可以成功下载。 这就很离谱,PC浏览器,手机浏览器都可以通过连接下载文件,为什么APP不行? 为了找到原因,我特地将APP放到模拟器,打算用Android Studio调试一下。神奇的事情发生了,模拟器上的APP是可以成功验证服务器的版本的,也就是说可以正常下载manifest文件。 离谱+1 百思不得其解,那就用真机调试吧。发现在**AssetsManagerEx.cpp**中打印了日志:*AssetsManagerEx : Fail to download version file, step skipped*。 嗯,还是下载失败。并没有对我产生更大的帮助,于是手动添加日志,将报错函数中的*errorStr*打印出来。得到了这样的报错信息:*javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.* 有进展,百度一下,说是**SSL证书不被信任**的原因。回头细想,这次网站添加的SSL证书是在宝塔面板内操作的。于是回宝塔网站设置中查看SSL是否设置有误,看到了底部这样一行字眼后发现果然有问题:**PEM格式证书 = 域名证书.crt + 根证书(root_bundle).crt**。 而我仅仅将域名证书.crt的内容复制进去了…… 重新补全好根证书的信息,再次打开手机APP,完美通过热更新检测,收工~ 这里有几个比较坑的点,总结一下为什么找了半天才解决: 1. 手动下载文件成功,但是使用程序下载则提示失败 2. 模拟器可以成功下载,真机下载失败 3. 服务器的SSL链接在手机和PC浏览器均测试通过,未提示异常 标签: 热更新 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭