3.8.3华为快游戏分包加载失败

Creator版本:3.8.3
手机:华为Mate10 Pro
系统:鸿蒙3.0.0

使用了小游戏分包,第一个分包就加载失败了
image

1赞

1,cocos 3.8.3 构建的分包配置是错误的。构建后的目录和manifest如下图所示:


上面是有问题的配置。

2,然后我咨询了华为官方技术支持,按照他的方法修改manifest配置依然无效:



为什么无效?我根据报错信息梳理,大概是因为cocos读取文件的时候,没有加subpackages路径。同时又有一些usr_前缀的处理。这些处理,导致没办法完全通过修改manifest来完成。

3,最后我试出来的一种方式是,将subpackage目录下的所有分包,全部拷贝到项目根目录,并且全部加上前缀usr_。实测有效。如下图所示:

你可以永远相信论坛,今天心血来潮打个rpk结果遇上同样的问题了 :rofl:

你这里看到的目录是编译之前的,在编译后会变成带有 usr_ 前缀目录并且在根目录的结构,这才是最终运行时使用的结构。你看下 rpk 里的目录结果是否正确即可。

解压了rpk里面确实是对的,但是编译前的那个目录,就没法用华为小游戏工具,调试了哦

我用华为的工具,打包出来也是不对的。是cocos额外做了处理对吧?

编辑器支持的调试是调试 rpk ,并没有支持原目录结构在工具里调试。
编译会自动拷贝整理目录,最终的目录结构可以在安装包 tool/huawei-rpk-tools 下面找到

我之前就是在这里导入,cocos编译后的华为构建目录。

你意思是我要调试的话,需要把cocos生成的rpk解压再导入调试么?

看了cocos官方文档,应该不要用华为那个调试器去调试。
微信跟抖音的惯性思维,让我习惯性用渠道开发者工具,打开构建目录去调试了。大概这个意思。

但是话说过来,cocos下个版本可以直接考虑,让编译rpk的目录跟编译后保持一致哈。不然这编译前的目录有何意义?

可以去 CocosCreator.app/Contents/Resources/tools/huawei-rpk-tools/build/ 目录下用华为的开发者工具去调式 (mac电脑)

你好,那我这个Bundle名称应该是要改成带usr_前缀的还是不用改的呢

不需要,你看cocos文档,按照他的流程来

为什么打包的华为快游戏rpk,里面没有sign文件夹的?这是正常的吗

另外补充一个问题,我的nodejs版本是16.20.2
image
发现构建面板Name必须输入英文,才可以在华为快游戏调试工具那里点击运行启动
image
输入中文会报错:
image

经测试:我只需要把最终输出的rpk文件名改为英文就可以调试了。

但事实上,这个Name是华为rpk包会读取的,运行的时候,activity名称显示的也是这个。所以必须是中文。但是中文无法启动调试。

我也遇到构建生成的rpk名称是中文无法调试,但是英文生成的包又是英文不是正式的游戏名称问题,每次生成后都要手动修改,我看到自定义Manifest里面也不支持name的自定义