DevEco 26 / uni-app 鸿蒙包 pack.info 仍为 Beta1 的定位与修复

发布时间:2026/6/29 2:57:52
DevEco 26 / uni-app 鸿蒙包 pack.info 仍为 Beta1 的定位与修复
现象与判定依据AGC 拒审文案「使用了 HarmonyOS beta 版本的 API」。本地 hvigor 发行构建可成功产出已签名.app与编译失败无关。AGC 扫描的是 HAP 元数据典型字段文件路径拒审值期望值pack.infosummary.modules[].apiVersion.releaseTypeBeta1Release/releasemodule.jsonapp.apiReleaseTypeBeta1Release自检解压.appzip读取根目录pack.info或检查entry/build/release/outputs/default/pack.info。2. 与工程配置的关系以下修改必要但不充分build-profile.json5所有products移除compatibleSdkVersionStage如beta6release产品compatibleSdkVersion使用正式 API 串如5.0.5(17)oh-package.json5发行工程不依赖uni_modules/hmr-for-uni-app其compatibleSdkVersionStage与 Beta abc 易触发higher sdkReleaseType仅做上述工程侧修改后pack.info.releaseType仍可能为Beta1——根因在DevEco SDK 的 releaseType 元数据由 ets-loader 写入 HAP。3. DevEco 26releaseType 的实际来源hvigor 构建日志app-harmony/.hvigor/outputs/build-logs/build.log可定位etsLoaderPath: ...\sdk\default\openharmony\ets\build-tools\ets-loader etsLoaderReleaseType: Beta1 Change app api release type with Beta1 sdkInfo: false:26:26.0.0.23:Beta1结论ArkTS 编译链读取openharmony/ets不是hms/ets。社区旧方案API 1011仅修改hms/toolchains/uni-package.json在 DevEco 26 上无效。.hvigor/cache/project-config.json中etsLoaderPath亦指向openharmony\ets\build-tools\ets-loader。4. SDK 文件清单sdk\default需将releaseType及sdk-pkg.json的stage从Beta*改为Releaseopenharmony决定 pack.info优先openharmony/ets/oh-uni-package.json ← ets-loader 直接读取 openharmony/js/oh-uni-package.json openharmony/native/oh-uni-package.json openharmony/previewer/oh-uni-package.json openharmony/toolchains/oh-uni-package.json sdk-pkg.json ← data.releaseType, data.stagehmsHarmonyOS 组件描述建议同步hms/ets/uni-package.json hms/js/uni-package.json hms/native/uni-package.json hms/previewer/uni-package.json hms/toolchains/uni-package.json4.1 误报陷阱仅校验hms/**/uni-package.json全部为Release不能证明可上架openharmony/**/oh-uni-package.json或sdk-pkg.json仍为Beta1时产物pack.info不变。5. 修复流程退出 HBuilderX、DevEco Studio避免 SDK 目录文件锁批量 patch 上述 jsonreleaseType: Beta1→Releasesdk-pkg.json中stage: Beta1→Release校验openharmony/ets/oh-uni-package.jsonsdk-pkg.json均为 Release删除unpackage/dist/build/app-harmony全目录含.hvigor缓存仅删oh_modules不够HBuilderX发行 → App-Harmony-本地打包上传前复检pack.info→apiVersion.releaseTypeWindows 下 patch SDK 文件若遇EPERM需管理员权限并确保 IDE 进程已退出。6. 中间产物对照便于 diff 排查发行构建后若仍为 Beta可逐级查看entry/build/release/intermediates/process_profile/default/module.json → apiReleaseType entry/build/release/intermediates/loader/default/loader.json → byteCodeHarInfo.*.compatibleSdkVersionStage entry/build/release/outputs/default/pack.info → releaseType build/outputs/release/pack.info → APP 级 pack.infoloader.json中依赖 HAR 的compatibleSdkVersionStage: beta1来自预编译 abc通常不影响主模块apiReleaseType主模块 Beta 标记仍由 ets-loader 的 SDK releaseType 决定。7. 长期方案安装Release 渠道DevEco Studio HarmonyOS SDKHelp → About HarmonyOS SDKreleaseType为 ReleaseSDK 升级可能重置Beta1每次上架前复检pack.info手工改sdk\default为权宜之计非官方支持路径8. 环境参考脱敏项版本HBuilderX5.07vue3DevEco Studio26.0.0.461compileSdkVersion26.0.0compatibleSdkVersionrelease5.0.5(17)targetSdkVersion6.0.0(20)参考文章SegmentFault《针对「您的应用使用了HarmonyOS beta版本的API」的解决方法》API 早期仅 toolchainshttps://segmentfault.com/a/119000004664595951CTO《HarmonyOS 上架失败第一次上架 beta 版应用》HarmonyOS 上架失败第一次上架beta版应用提交审核立刻失败了-鸿蒙开发者社区-51CTO.COM51CTO《HarmonyOS 打包的时候如何指定使用发布版本 API》HarmonyOS 打包的时候如何指定使用发布版本API -鸿蒙开发者社区-51CTO.COMDCloud 问答《鸿蒙应用无法上架 — 提示使用 beta 版本的 api》【报Bug】鸿蒙应用无法上架 - DCloud问答官方文档uni-app 鸿蒙运行和发行beta APIuni-app官网HarmonyOS 版本说明文档中心华为 AGC 鸿蒙应用帮助文档中心如果本文吸引了你为你带来了灵感帮助麻烦你轻轻点击【推荐】你的热心评论推荐是我分享文章的强大动力之一。谢谢阅读作者CatcherX主页http://catcherX.cnblogs.com关于我热爱IT技术、擅于用技术解决实际应用问题目前专攻Web网络应用开发。.Net平台下的ASP.NET MVCWinFormCS端管理系统、数据采集分析、网络应用开发工作熟悉数据库SqlServer开发Oracle管理技术