安卓手机 16 KB 这个要怎么兼容
- 发布:2026-11-06 10:42
- 更新:2026-11-06 10:42
- 阅读:38
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。
所有的 Google Play 16K 问题都需要引导到: https://doc.dcloud.net.cn/uni-app-x/tutorial/android-16kb.html
16K,是指C语言等可操作内存的语言使用内存的规范,对齐16K可以提升C代码的运行性能。只有so库涉及。如果使用js、java,不涉及16K问题。
Google Play 的政策要求:自 2025 年 11 月 1 日起,提交到 Google Play 且以 Android15(API 级别 35)及更高版本的设备为目标平台的所有新应用和现有应用更新都必须支持 16KB 的页面大小。
Android17+,默认会开启16KB兼容性检测,如果应用中包含未适配支持 16KB 的 so 库,在启动时会弹出 Android 应用兼容性 提示框。提示内容为:“此应用不符合 16KB 对齐要求。ELF文件对齐检查失败。”。虽然这个列表中也会出现 DCloud的自有so库,但其实是因为三方sdk不支持16KB导致打包时被降级了。如去掉不支持16KB的三方sdk再打包,可以正常通过16K校验,不再弹框报警。
DCloud适配进度:
- HBuilder 4.81+,DCloud的自研so库已适配支持 16KB 内存页面大小
- HBuilder 5.31+,DCloud内置组件和API依赖的三方SDK统一升级,仅剩余直播和部分广告渠道的so库还未适配 16KB 。在必要时可去除相关模块。
uni-push适配:
- HBuilder X 5.31 及以上版本,已更新
uni-push使用的个推 SDK 为3.3.15版,适配支持 16KB 内存页面大小。 - HBuilder X 5.31 以下版本,
uni-push使用的个推 SDK 依赖卓信ID SDK,但该 SDK 目前未适配支持 16KB 内存页面大小。为满足 Google Play 的要求,应用在提交至 Google Play 时需避免使用卓信ID SDK。按以下方式配置,使用uni-push时将不会包含卓信ID SDK:- 项目manifest.json可视化界面,在 “安卓App配置” 下的 “uni-push(消息推送)” 中只勾选 “Google FCM推送SDK”
- 云端打包界面,在 “打包格式” 下勾选 “AAB(谷歌商店仅支持aab)”
相关Issue:
- canvas 16kb问题:https://issues.dcloud.net.cn/pages/issues/detail?id=29311
- 安卓17运行会提示应用兼容性问题:https://issues.dcloud.net.cn/pages/issues/detail?id=32203
- 更新个推 SDK 为 3.3.15 版,适配支持 16KB 内存页面大小:https://issues.dcloud.net.cn/pages/issues/detail?id=33091