1***@163.com
1***@163.com
  • 发布:2026-08-03 10:34
  • 更新:2026-08-03 10:36
  • 阅读:29

Android 上传 Google Play 提示不支持16KB page size

分类:uni-app

环境:

开发框架:
uni-app

打包方式:
HBuilderX 云打包

平台:
Android

targetSdkVersion:
35

包格式:
.aab

问题:

Google Play要求Android应用支持16KB Page Size。

使用 Android Studio APK Analyzer 查看.aab:

发现以下so文件未通过16KB对齐:

libweexjss.so
libweexcore.so
libc++_shared.so
libstatic-webp.so
libnative-imagetranscoder.so
liblamemp3.so
libbreakpad-core.so
libgifimage.so
libpl droidsonroids gif.so
libnative-filters.so
libdcblur.so
libimagepipeline.so
libweexjst.so
libweexjsb.so

提示:

4 KB LOAD section alignment, but 16 KB is required

以及:

RELR0 is not a suffix and its end is not 16 KB aligned

当前manifest配置:

"targetSdkVersion" : 35,
"minSdkVersion" : 28,
"abiFilters" : [ "arm64-v8a" ],
"schemes" : "hbuilder,xuanzhongyi",
"compileSdkVersion" : 35,
"buildFeatures" : {
"compressNativeLibs" : true
},
"packagingOptions" : {
"jniLibs" : {
"pageSize" : 16384
}
},

已经尝试:

  1. 修改abiFilters
  2. 去除无用权限
  3. 重新云打包
  4. 使用最新HBuilderX

仍然无法通过16KB检测。

请问:

  1. uni-app官方SDK什么时候支持16KB Page Size?
  2. 是否有对应版本的SDK可以替换?
  3. 是否需要关闭某些模块生成so?
  4. 是否可以手动替换libweex相关so?
2026-08-03 10:34 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

您遇到的 16KB Page Size 问题,HBuilderX 4.81 版本已官方适配支持。根据您列出的 so 文件(libweexjss.so、libweexcore.so、libbreakpad-core.so 等),这些都是 uni-app 核心引擎库,在 4.81 及以上版本已完成 16KB 对齐适配。

针对您的四个问题,结合官方文档和版本信息,回答如下:

1. uni-app 官方 SDK 什么时候支持 16KB Page Size?

HBuilderX 4.81 版本已适配支持 16KB 内存页面大小

官方文档明确说明:自 2025 年 11 月 1 日起,Google Play 要求以 Android 15(API 35)为目标平台的应用必须支持 16KB 页面大小。HBuilderX 4.81 版本已完成核心功能模块的适配。

重要注意事项

  • 升级 4.81+ 后,最低支持版本由 Android 4.4(API 19)调整为 Android 5(API 21)
  • 如果还需兼容 Android 4.4,请继续使用 HBuilderX 4.76 版本

参考文档:Android 16KB 适配概述

2. 是否有对应版本的 SDK 可以替换?

不需要手动替换 SDK。请直接升级 HBuilderX 到 4.81 或更高版本(当前正式版已至 5.15,Alpha 版至 5.22),然后重新进行云打包。

如果您使用的是离线打包:

  • 请下载最新版本的 Android 离线 SDK(2026年7月6日发布的 5.14 版本已修复部分内置依赖不支持 16KB 分页的问题)
  • 参考:Android SDK 下载

3. 是否需要关闭某些模块生成 so?

不需要关闭核心模块,但需要检查是否使用了以下明确不支持 16KB 的模块

根据官方文档,以下模块涉及的三方 SDK 尚未完全适配 16KB,提交 Google Play 时应避免使用:

模块 涉及的 so 文件 说明
uni-ad(国内广告) libplt-base.so、libsgcore.so、libti-monitor.so 国际广告从 4.83 起已适配
uni实人认证 libaliyunaf.so、libfacedevice.so 仅支持国内环境
uni-push(含卓信ID) libzxprotect.so 提交 Google Play 时需仅勾选 "Google FCM推送SDK",不要勾选国内推送渠道
友盟统计 libcrashsdk.so、libucrash-core.so SDK 9.4.4 无计划更新,建议 Google Play 版本移除
OAID libsecsdk.so、lib39285EFA.so Google Play 渠道包默认不包含,离线打包需手动删除 msa_mdid_1.0.13.aaroaid_sdk_1.0.25.aar
高德地图(旧版) libAMapSDK_MAP_v10_0_700.so HBuilderX 5.0+ 已更新为 11.1.060 解决此问题

建议操作

  1. 在 manifest.json 的 "App模块配置" 中,取消勾选上述国内专用模块(如友盟统计、实人认证等)
  2. 对于 uni-push,确保只勾选 Google FCM推送SDK
  3. 云打包时在 "渠道包" 下勾选 Google Play(AAB)

4. 是否可以手动替换 libweex 相关 so?

不建议手动替换。libweexjss.so、libweexcore.so 等是 uni-app 的 JS 引擎核心库,与 HBuilderX 版本强绑定,手动替换会导致运行时异常或崩溃。

正确的解决方案

  1. 升级 HBuilderX 到最新版本(4.81+,建议 5.0+)
  2. 重新云打包(确保云打包服务器 SDK 版本也是 4.81+)
  3. 如果仍有个别 so 报错,检查是否集成了第三方原生插件(如某些扫码、地图、播放器插件),这些插件可能包含未适配的 so

针对您当前情况的排查建议

您提到已使用最新 HBuilderX 但仍有问题,请按以下步骤排查:

  1. 确认云打包 SDK 版本:云打包时查看控制台输出的 "云端打包服务器 SDK 版本",确保不低于 4.81
  2. 检查第三方插件:您列出的 libdcblur.so 不是 uni-app 标准库,可能是某个第三方插件(如图片处理、美颜类插件)引入的。请检查 uni_modules 或原生插件目录,暂时移除可疑插件后重新打包测试
  3. 配置 Google Play 渠道:确保云打包时勾选了 "Google Play(AAB)" 渠道,这样系统会自动排除国内专用的不支持 16KB 的库
  4. 清理缓存:删除 unpackage 目录,重新云打包

如果以上步骤仍无法解决,建议到 DCloud 问答社区 提交问题,并附上完整的 so 文件列表和 HBuilderX 版本号,官方会跟进处理。

内容为 AI 生成,仅供参考

要回复问题请先登录注册