我用的 NDK 是 28.2 的版本,没有遇到过这个报错,问问AI 看看
3.8.3 用易盾加固插件加密后,去android_studio 里打APK 打完后运行报错 14:41:30 [ERROR]: E/ ScriptEngine::evalString script jsb-adapter/web-adapter.js, failed!
2025-10-22 14:41:30.677 5657-5682 Cocos pid-5657 E 14:41:30 [ERROR]: E/ ERROR: Uncaught SyntaxError: Unexpected token ‘{’, location: main.js:0:0
2025-10-22 14:41:30.677 5657-5682 Cocos pid-5657 E 14:41:30 [ERROR]: [ERROR] file C:/ProgramData/cocos/editors/Creator/3.8.3/resources/resources/3d/engine/native/cocos/application/CocosApplication.cpp: line 173
2025-10-22 14:41:30.677 5657-5682 Cocos pid-5657 E 14:41:30 [ERROR]:
Uncaught Exception:
- location : main.js:0:0
- msg : Uncaught SyntaxError: Unexpected token ‘{’
- detail : 这怎么解? 不加密直接打包,就不会报错,在16KB之前加密打包不会有这种错误,16KB后加密打包就会这样,有大佬知道的吗?怎么解?
不是的,检测成功就OK了,Alignment 这个地方是不符合的会标记出来
ok,主要我用那个检测工具之前没有配置的时候也是不标记
,就很奇怪
你这个看样子是适配 v8 的引擎源码没有改对?或者看 NDK 和 gradle 版本是否适配
改完Node.cpp和JniCocosSurfaceView.cpp之后,好像对其他的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, 如果不适配还是需要改源码的。














