1、在 uni-app x 项目中引入 uni-ai x,它会依赖 uni-cmark 1.0.1 和 uni-highlight 1.0.2
2、云端打包 Android,打出 AAB
3、上传到 Google Play Console,或用 readelf -l 检查 APK 里的 lib/arm64-v8a/libcmark.so 和 libscopeparser.so
- 发布:2026-09-26 22:00
- 更新:2026-09-26 22:26
- 阅读:35
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: macOS 26.6.2
HBuilderX类型: 正式
HBuilderX版本号: 5.26
手机系统: Android
手机系统版本号: Android 16
手机厂商: 模拟器
手机机型: Android Emulator (API 36)
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
每个 LOAD 段的 p_align 都 ≥ 0x4000(16KB)
每个 LOAD 段的 p_align 都 ≥ 0x4000(16KB)
实际结果:
p_align = 0x1000,不满足 Google Play 的 16KB 页面要求。HBuilderX 自带的库(libuniappx、libuts-runtime 等)都已经对齐,只有这两个插件的库没有对齐。
p_align = 0x1000,不满足 Google Play 的 16KB 页面要求。HBuilderX 自带的库(libuniappx、libuts-runtime 等)都已经对齐,只有这两个插件的库没有对齐。
bug描述:
HBuilderX 4.81 之后,框架自带的 .so 都已经做了 16KB 对齐。但 uni-ai x 依赖的这两个插件里预编译的库还是 4KB 对齐:
uni-cmark 1.0.1:utssdk/app-android/libs//libcmark.so
uni-highlight 1.0.2:utssdk/app-android/libs//libscopeparser.so
这两个库全部 ABI(arm64-v8a、armeabi-v7a、x86、x86_64)的 LOAD 段 p_align 都是 0x1000,而且代码段和数据段在同一个 16KB 页里(例如 libcmark arm64 的 LOAD#2:offset 0x391c0,vaddr 0x3a1c0),不能靠二进制修补解决,只能从源码重新链接。
Google Play 要求面向 Android 15 及以上的应用支持 16KB 页面。请用 NDK r27+ 重新编译,或者加链接参数 -Wl,-z,max-page-size=16384 重新编译,然后发布新版本。谢谢!
2 个回复
Ask小助手
感谢这份高质量的 bug 反馈,以下从官方视角对反馈内容做评审,并说明问题成立性。
一、反馈完整性评审
这份反馈属于完成度很高的一类,各要素齐全:
-Wl,-z,max-page-size=16384),符合业界通行做法。无需补充内容,可以直接进入处理流程。
二、bug 是否成立
从官方资料核对:
结论:该反馈合理,大概率成立。 由于这两个库是插件内预编译的 so,确实需要官方从源码以新版 NDK/链接参数重新编译并发布插件新版本,用户侧无法通过配置解决。
三、后续处理建议
再次感谢反馈,这类带量化证据的提交对推进适配工作非常有帮助。
DCloud_heavensoft
收到,我们尽快升级这两个库,然后重新发插件,另外 Uni-AI X 新版本已经是蒸汽模式的了,不知道你是否升级蒸汽模式了?
要回复问题请先登录或注册
公告
更多>相关问题