1***@163.com
1***@163.com
  • 发布:2026-08-13 17:15
  • 更新:2026-08-13 17:17
  • 阅读:26

【报Bug】离线打包 16kb 对齐问题,导致不能提交google play 市场

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Sequoia 15.5, apple m4

HBuilderX类型: 正式

HBuilderX版本号: 5.24

手机系统: Android

手机系统版本号: Android 15

手机厂商: 小米

手机机型: redmi node 15

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

android studio 打包离线包aab 分析包就可以看到

预期结果:

希望解决16kb问题能发布 google play市场

实际结果:

1

bug描述:

从 AAR 内原始 so 的 p_align 可以看到清晰的分水岭:

AAR 包 arm64-v8a (64位) x86_64 (64位) armeabi-v7a (32位) x86 (32位)
uniapp-v8-release.aar ✅ 16384 ✅ 16384 ❌ 4096 ❌ 4096
utsplugin-release.aar ✅ 16384 ✅ 16384 ❌ 4096 ❌ 4096
breakpad-build-release.aar ✅ 16384 ✅ 16384 ❌ 4096 ❌ 4096
lib.5plus.base-release.aar ✅ 16384 ✅ 16384 ❌ 4096 ❌ 4096
oaid_sdk_1.0.25.aar ✅ 65536 ❌ 4096 ❌ 4096 ❌ 4096
android-gif-drawable.aar ✅ 16384 ✅ 16384 ✅ 16384 ✅ 16384

2026-08-13 17:15 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

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

感谢您的反馈。针对您提交的“离线打包 16kb 对齐问题,导致不能提交 Google Play 市场”的 Bug,官方评审意见如下:

1. Bug 反馈内容完整性评审

  • BUG 描述:描述非常清晰且专业。您通过表格详细列出了各个 AAR 包在不同 CPU 架构下的 p_align 值,精准定位了 32 位(armeabi-v7ax86)和部分 64 位(x86_64)未对齐 16KB 的问题,官方人员能够完全看懂并直接定位到问题文件。
  • 代码示例:此问题属于 SDK 层的 so 库对齐问题,无需提供代码示例即可复现,符合预期。
  • 复现步骤:复现步骤“Android Studio 打包离线包 aab,分析包就可以看到”描述清晰。结合您的描述,官方人员可以直接通过 Android Studio 的 APK Analyzer 工具验证 p_align 值,复现成功率高。
  • 预期结果:希望解决 16kb 问题以发布 Google Play 市场,预期合理且明确。
  • 实际结果:仅填写了“1”,未描述实际现象(如 Google Play 后台上传时具体的报错提示,或分析工具中的警告信息)。建议后续补充具体的报错文案以形成完整闭环。
  • 分类信息:分类信息完整,包含了 HBuilderX 正式版版本号(5.24)、PC 环境、手机系统与机型、Vue 版本等关键信息,非常规范。
  • 附件说明:我无法识别附件内容,如果后续有截图或日志需要补充,请直接以文字形式提供关键信息。

2. Bug 是否成立分析

结论:Bug 成立,但属于已知限制,且已有明确的处理方案。

根据官方知识库说明,自 2025 年 11 月 1 日起,Google Play 要求提交的应用必须支持 16KB 页面大小。HBuilderX 4.81 版本起已对核心功能模块进行了 16KB 适配。结合您反馈的表格和官方资料,以下是具体分析及解决方案:

  1. 关于 oaid_sdk_1.0.25.aar
    OAID 目前使用的 SDK 版本由于证书原因暂时无法更新,其 so 库(如 libsecsdk.so)未适配 16KB。由于 Google Play 渠道包默认不包含此 SDK,离线打包时如果是为了上架 Google Play,请直接在工程中删除 oaid_sdk_1.0.25.aarmsa_mdid_1.0.13.aar。如需获取 OAID,建议改用 uts 插件方式实现。

  2. 关于 32 位架构(armeabi-v7ax86)未对齐问题
    提交 Google Play 时要求支持 64 位,官方建议选择 armeabi-v7aarm64-v8a,或只选择 arm64-v8a务必不要勾选 x86。对于离线打包,可以在 build.gradle 中配置 abiFilters 来过滤架构:

    defaultConfig {  
       ndk {  
           abiFilters 'arm64-v8a', 'armeabi-v7a'  
       }  
    }  

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
    由于 armeabi-v7a 目前在您的反馈中未对齐 16KB,如果您没有强烈兼容老旧 32 位设备的需求,上架 Google Play 时建议直接仅保留 arm64-v8a,这样可以完全规避 32 位 so 库未对齐的问题。

  3. 关于 lib.5plus.base-release.aar 中的 libdcblur.so
    该库在 x86_64 下未对齐 16KB,官方已知此问题并会在后续处理。由于去掉 x86 相关配置即可解决,建议在打包 Google Play 版本时移除 x86 架构配置。

  4. 关于 Fresco 图像库相关 so 库(libgifimage.so 等)
    如果离线打包时这些库未对齐 16KB,通常是因为未更新底层依赖。请确保将离线 SDK 中的所有 aar 替换为最新版本,并将 Fresco 升级到 3.4.0 版本。

参考文档:

内容为 AI 生成,仅供参考

要回复问题请先登录注册