Android 16KB 页面大小特性支持 & 引擎库更新

各位开发者,你好!

为了提升引擎在特定 Android 设备(如 ARM64 架构的终端)上的兼容性与性能,我们近期完成了对 Android 16KB 内存页面大小 特性的支持工作。相关代码变更已准备就绪。

CocosCreator 下载链接

windows: 点击下载
mac: 点击下载

:dart: 本次更新的核心内容

  1. 引擎核心库 ( engine 仓库)
  • 内容 : 包含了支持 Android 16KB 页面大小的关键代码改动。
  • 状态 : 已提交 PR
  1. 外部依赖库 ( external 仓库)
  • 内容 : 主要更新了 V8 的版本(11.8 -> 12.7.140) 以匹配新特性。

:arrows_counterclockwise: 备选方案:避免 V8 升级带来的包体增长

如果您不希望升级 V8 引擎(例如出于控制包体大小的考虑),我们提供了备选方案:

  1. 引擎代码更新:参考 engine 仓库的 PR #18999 中的代码变更,手动应用到您的引擎版本中。

  2. external V8 库:从提供的 PR 更新 V8 库(包括 x64 和 arm64 架构)。

:test_tube: 重点与反馈方向

我们特别希望您能在以下场景进行测试,并反馈任何异常情况:

  • 核心功能回归测试 : 在 ARM64 Android 设备 (尤其是页面大小为16KB的设备)上,验证引擎的各项基础功能是否正常。
  • 兼容性 :在升级 V8 前后,项目兼容性是否有出现问题。
  • 性能表现 : 关注启动时间、内存占用、JS执行性能等是否有显著变化。
  • 稳定性 : 长时间运行应用,检查是否存在崩溃(Crash)或内存泄漏。

:rocket: 如何开始集成?

  1. 获取代码
  • 切换到 仓库的 v3.8.7-16k 分支进行构建。
  • external 用到了大文件,需要先安装 git lfs 才能正常下载
  1. 环境准备
  • 【强烈建议】升级开发环境 :为确保构建过程顺利,请将 Android Studio 更新至 2024 年或更高版本 。旧版本IDE可能无法正确处理新的依赖或构建配置。
  • 【重要】清理本地项目
    • 若本地已有构建出的 Android 项目,请务必先 备份 您项目中的 native 目录(如有自定义修改)。
    • 删除 项目下的 native 目录及相关构建缓存(如 build 目录),然后 重新执行构建 ,以确保所有原生依赖都被正确更新。

针对 Cocos Creator 2.x 用户

Cocos Creator 2.x 请参考 engine-native 仓库的 PR #4403 进行验证,过程中请确保使用 NDK 28 及以上版本

9赞

android 运行若有什么问题,烦请在这个帖子反馈,谢谢

4赞

2.4.11版本的项目可以测试吗

v8的中间成不太一样,我没验证过,可能不能直接合并。但是v8的升级可能是类似的;后续我们也会在2.x 先验证下。

请问 3.8.0 - 3.8.6 区间的引擎版本,如何在不升级到 3.8.7 的基础上适配测试呢?

目前是需要开发者自己参照PR 修改进行测试吗

合并engine 仓库的修改,这个主要是配置的修改;还有v8 接口修改导致引擎适配层的修改;合并后基本没什么问题。

external 是必须合并的,v8只有到12.x 才有真正支持 android 16kb 的 特性。

Android studio 必须升级;然后配置里对应的 gradle插件都需要升级,确保能翻墙

应该是主要参考这部分 C++ 改动,其他配置的就是看着来?

其他的,ndk 建议升级到 28,因为默认是可以启用 16kb的特性。gradle 要升级到至少引擎指定的版本,否则可能编译不过。

1赞

楼主还得写一篇经验分享,升级了哪些库,需要注意些什么,供其他版本的用户参考。

直接下载zip,把文件复制到 编辑器目录下的 3.8.7\resources\resources\3d\engine 也行吧?

可以的, zip 完,记得按照 readme 的初始化流程走一遍

好滴~我说咋运行不起 :smiling_face_with_three_hearts:

3.8.7. 替换了 图集。 结果

运行没问题。 0是lable,放在图片上的。 结果图片没显示出来。

退出,重新打开,就可以了。

希望官方大大 其他版本都需要处理一下

1赞

3.x的版本,合并对应修改就可以了;还有需要升级ndk 到 28,升级android stuido;需要升级的内容,后续我会写到文档中。

1赞

image
能否像社区版本更新帖一样,给一个3.8.7-16kb构建好的版本供大家下载。很多引擎用户看到复杂的流程都会头疼的。有构建好的引擎,只需要说明安卓构建用的NDK和Grade版本就行。辛苦引擎组的大佬了。

1赞

这个388版本弄好后,会发布社区版,请保持关注,谢谢。

用这个分支 编译失败