3.8.3 和 3.8.5 版本适配 16KB 过程记录

有和我报一样错误的大佬吗?求解决办法

不是的,检测成功就OK了,Alignment 这个地方是不符合的会标记出来

ok,主要我用那个检测工具之前没有配置的时候也是不标记 :sweat_smile:,就很奇怪

你这个看样子是适配 v8 的引擎源码没有改对?或者看 NDK 和 gradle 版本是否适配

改完Node.cpp和JniCocosSurfaceView.cpp之后,好像对其他的ndk版本打包会产生影响,我打其他包报错了

看不同版本NDK的适配情况了,你看看官方给的修改方法

已经改好了,在ScriptEngine.cpp 文件所在有个 同名的 .rej 文件,打开 会看到 origin(origin.ToLcalChecked) 里少个指针参数 _isolate ,在.cpp文件里找到origin(origin.ToLcalChecked) 加在前面就行了,origin(_isolate,origin.ToLcalChecked),不过改了之后在这个.cpp文件可能还会报其他错误,都是同理少了指针参数,都加上 _isolate 就行了。

请问直接使用3.8.8是不是不需要这么多骚操作了?直接NDK 28 ,AGP8.5.1直接打包就行了?

理论上是的,没有这样操作过,看 3.8.8 的引擎是否完全适配 NDK 28, 如果不适配还是需要改源码的。

hello,麻烦问下,有遇到这个问题吗?

image


image
我也遇到这个了

确认是否启用了“自定义引擎”。如启用,请确保 cocos/core/scene-graph/Node.h 与 Node.cpp 来自同一版本提交;用全文搜索确认 Node.h 内是否包含 _finalOpacity

我这边 3.8.5 没有遇到这个报错,看样子是 v8 库的报错,可以先不改16KB 适配,先让 NDK r28 打包没问题了再适配 16KB 修改

我从Dashboard下载的3.8.4, 3.8.5版本都没有_finalOpacity这个属性,你用的版本有?


对应的.h文件只添加_finalOpacity(对照3.8.7-16k),又引入一批其他问题

没有的,我也是 3.8.5 的版本GP平台已经通过了,引擎方面就改我上面描述的这两处就 ok了,然后在根据官方PR 替换 v8 和修改两处 源码,基本没啥问题了

好的,谢啦,我再瞅瞅

你用 3.8.8 的版本试试,我也用这个:https://github.com/cocos/cocos-engine/pull/18999/files#diff-6b0fbd7439a8713f403c50801767af956b82ed6f4e1132738a2501084d3b3aae

好的,我重新对照调整,再编译下试试

我知道了我用的是这个里面的v8,导致编译失败,用3.8.8里面的v8就好了,还是感谢大佬


但是显示这个 是失败了吗?

你用 python 脚本,或者 zipalign 检测下