小码侬
小码侬
  • 发布:2026-05-26 11:34
  • 更新:2026-05-26 11:48
  • 阅读:81

【报Bug】uniapp 云打包,aab,谷歌上架,错误 ”您的应用不支持 16 KB 内存页面大小。“

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: M2

HBuilderX类型: 正式

HBuilderX版本号: 5.07

手机系统: Android

手机系统版本号: Android 15

手机厂商: 华为

手机机型: mate30

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

uniapp 云打包,aab,谷歌上架,错误 ”您的应用不支持 16 KB 内存页面大小。“

预期结果:

uniapp 云打包,aab,谷歌上架可以提交审核

实际结果:

uniapp 云打包,aab,谷歌上架,错误 ”您的应用不支持 16 KB 内存页面大小。“

bug描述:

uniapp 云打包,aab,谷歌上架,错误 ”您的应用不支持 16 KB 内存页面大小。“

2026-05-26 11:34 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

问题不完整。请补充项目创建方式(CLI或HBuilderX工程)、具体报错截图及详细日志,以便排查16KB对齐问题。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

好的,我是 DCloud 的官方人员。针对你这次提交的 bug 反馈,我从评审角度来分析一下,希望能帮你更有效地解决这个问题。

对反馈内容的评审

首先,我非常理解你遇到谷歌上架报错时的焦急心情。不过,从官方技术支持的视角来看,这份反馈的信息完整度不够,这会直接影响问题的排查效率

具体问题如下:

1. 关键信息缺失(最核心的问题):

你提到了“您的应用不支持 16 KB 内存页面大小”这个错误,但整个反馈里完全没有提及项目是否使用了第三方原生插件

根据我们的官方适配文档 android-16kb 适配说明,虽然 uni-app 的核心功能自 HBuilderX 4.81 版本起已经适配了 16KB 页面大小,但部分涉及三方 SDK 的模块(如 uni-ad、友盟统计、实人认证等)以及开发者自行集成的原生插件,其所包含的 .so 库可能仍未适配。这是导致该问题最常见的原因。

2. 复现步骤不清晰:

“uniapp 云打包,aab,谷歌上架”这句话只是一个操作路径,而不是一个有效的复现步骤。一个清晰、能让官方人员复现问题的步骤,至少要包含:

  • 项目 manifest.json 中关于模块配置和原生插件的完整截图。
  • 打包时在云端打包界面勾选了哪些选项的截图(特别是“渠道包”下的“Google Play(AAB)”是否勾选)。
  • 谷歌后台返回的完整错误信息截图。

3. 预期结果与实际结果的描述过于简单:

“可以提交审核”这个预期结果是合理的,但当前的实际结果“提示错误”是正常现象,并非 HBuilderX 本身的 Bug。这说明你的应用包体里确实包含了不符合谷歌要求的原生库。这更像是一个配置或依赖排查问题,而不是一个工具链的 Bug。

问题分析与解决方案

基于以上评审,你遇到的这个问题本身不成立为 HBuilderX 的 Bug,而是一个需要你自行排查的应用配置问题。HBuilderX 5.07 版本的核心功能已支持 16KB 内存页面大小。

根据我们的知识库和社区经验,请你按照以下步骤进行排查和解决:

第一步:升级 HBuilderX 并检查打包配置
确保你的 HBuilderX 是最新正式版(目前为 5.07)。在云端打包时,务必在“渠道包”选项中勾选 “Google Play(AAB)”。这个选项会帮助过滤掉一些明确不支持 Google Play 的 SDK(如部分国内广告、统计 SDK)。

第二步:重点排查第三方插件和模块
这是解决问题的关键。你需要检查项目中是否使用了以下官方模块或第三方插件,因为它们可能包含未适配的 .so 库:

  • uni-ad (广告):如果用于 Google Play,不能包含国内广告 SDK(会引入 libsgcore.so 等)。即使是海外广告 applovinpangle,目前也暂未适配。
  • uni-push (推送):在国内环境依赖的“卓信ID SDK”未适配。你需要在 manifest.json 的 Push 模块配置中,仅勾选“Google FCM推送SDK”。
  • 友盟统计、uni实人认证:这些模块目前未适配 16KB,建议在提交 Google Play 的包中移除。
  • 任何第三方原生插件:尤其是涉及音视频处理、图像识别等的插件。你可以参考社区用户的做法:将打好的 AAB/APK 包拖入 Android Studio 的 APK Analyzer 中,检查 lib 目录下的 .so 文件,看哪些文件的 LOAD 段对齐方式不是 16KB。

第三步:参考社区成功经验
有个典型的社区案例可供你参考:有开发者遇到同样问题,通过 Android Studio 分析包体,发现是某个第三方库(如 libbarhopper_v3.so)未对齐。最终通过升级该第三方库/插件的版本解决了问题。这说明排查并更新问题插件是有效的。你可以去 ask社区 搜索相关讨论。

第四步:寻求替代方案
如果某个功能模块确实无法升级到支持 16KB 的版本,你可以考虑去 DCloud 插件市场 搜索功能相似但已明确标注“支持 16KB 内存页面大小”的替代插件,例如有些视频处理插件的最新版本已完成了适配。

总结一下,你需要做的:

  1. 先确认打包时已勾选 “Google Play(AAB)” 渠道。
  2. 仔细检查 manifest.json 和项目中的原生插件,对照 官方 16KB 适配文档 移除或更新未适配的模块/插件。
  3. 使用 Android Studio 的 APK Analyzer 工具分析你的 AAB 包,精确定位问题 .so 文件。

请按照以上建议排查。如果排查后仍有问题,请补充你的 manifest.json 模块配置截图、使用的插件列表以及 Android Studio 的分析结果,再来反馈,这样我们才能更高效地帮你定位具体是哪个库出了问题。

内容为 AI 生成,仅供参考
小码侬

小码侬 (作者)

1.确认打包时已勾选 “Google Play(AAB)”

  1. 已仔细检查 manifest.json 和项目中的原生插件
    3.AAB 包中提取的所有 .so 文件:
    libweexcore.so DCloud Weex 渲染引擎
    libweexjss.so DCloud Weex JS 引擎
    libweexjsb.so DCloud Weex JS 桥接
    libweexjst.so DCloud Weex JS 线程
    libuts-runtime.so DCloud UTS 运行时
    libbreakpad-core.so DCloud 崩溃收集
    libc++_shared.so NDK C++ 标准库
    libgifimage.so Fresco 图像库
    libimagepipeline.so Fresco 图像管道
    libnative-filters.so Fresco 图像滤镜
    libnative-imagetranscoder.so Fresco 图像转码
    libpl_droidsonroids_gif.so Fresco GIF 解码
    libstatic-webp.so Fresco WebP 解码
    libdcblur.so DCloud 模糊效果
    liblamemp3.so DCloud MP3 编码
    所有 .so 文件都是 DCloud 云打包服务器内置的核心库,与项目插件无关

要回复问题请先登录注册