发版本有一个过程,没那么快,有周期。
在置顶里编辑一下2.x的相关信息吧,至少提一嘴。
哇,竟然秒回。感谢。目前没改动引擎打包出来的能过16kb检测,但是线上有v8导致的崩溃,就很恼人。
刚看了下,这个方法怎么比我的还麻烦。既然也只是为了过16kb检测,那还不如直接改动打包出来的android工程了。关键是v8,这么在cocos引擎里好像是编译好的静态库。这个v8怎么处理呢?直接使用置顶里提到的3.x的v8吗???通用的吗?
2.x的不用修改v8, v8 8.0 没有这个字段kMinimumOSPageSize,只要保证用ndk 28编译的应用就可以确认支持16kb页面特性。
ok。明白了。 [split_config.arm64_v8a.apk!libcocos2djs.so] v8::HandleScope::Initialize(v8::Isolate*) - Creator 2.x - Cocos中文社区 那这个问题有研究过吗?这个问题只要按照目前的打包16kb流程,打包出来之后线上必现,2.x版本。
16kb, 需要确保所有使用的so,都用统一的配置编译,比如都用ndk 28+编译;这样才能保证整个app是支持16kb 特性。至于v8 崩溃堆栈,建议提供复现环境,光看log没看出具体问题点。
都是用ndk r28编译的。至于这个崩溃,只出现在android 15上。我跟贴主不是同一个公司的,而且那个帖子里很多人都遇到了这个问题,所以我才说这个问题用现有的打包16kb的方法必现。但是我在本地没法复现这个问题,模拟器里也没有,反复试了很多次从来没遇到崩溃的问题,只有国外的使用android 15的玩家会遇到。让他们提供具体的细节,他们也不说,恼人。
我这边是
backtrace:
#00 pc 0x00000000010b2460 /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (v8::HandleScope::Initialize(v8::Isolate*)+144) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
#01 pc 0x0000000000ba4e0c /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (se::ScriptEngine::cleanup()+88) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
#02 pc 0x0000000000ba5074 /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (se::ScriptEngine::init()+36) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
#03 pc 0x0000000000ba671c /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (se::ScriptEngine::start()+36) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
#04 pc 0x0000000000ae43ac /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (AppDelegate::applicationDidFinishLaunching()+184) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
#05 pc 0x0000000000af83c4 /data/app/~~h8CMvZoZfEH6-gR7Rf-5gg==/xxx-qhknsY6ARLuv5Lki-JmIVA==/split_config.arm64_v8a.apk!libcocos2djs.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit+220) (BuildId: 71b3a4de1cf973f88c0950b3331267df1a5df0b7)
我发现cpp代码里,在init里,会先调用cleanup,就是这个cleanup触发的。
如果是崩在这,大概率是activity已经调用了destroy, 第二次进去时,由于android不会销毁进程导致上一次的v8 环境还残留。建议用我上面发的pr试试
小弟明白。好,我这就试试。希望能解决这个问题 
没有v3.8.7-16k的编辑器下载链接吗?
目前没有,后面388有版本的话会上链接
根据这个pr修改以后,2.4.10打包出来还是不支持16Kb页面特性呀ndk使用28
gradle 升级了吗?gradle-bin是否升级了?这两个升级,android studio的最低版本需要2024发布的
gradle 按照pr升到了8.10.1,gradle-bin也是8.11.1 Android studio 是2025.1.2
你是用命令行查看? 另外,如果是在模拟器验证,确认是否选了 x86_64 这个架构?

