DevEco Studio6.0.0 打包的hap包,为何ReleaseType总是Beta版本,"apiReleaseType": "Beta1"

DevEco Studio6.0.0 打包的hap包,为何ReleaseType总是Beta版本,“apiReleaseType”: “Beta1” DevEco Studio6.0.0 打包的OpenHarmony 的 hap包,为何ReleaseType总是Beta版本,“apiReleaseType”: “Beta1”。编译sdk版本为20。

我尝试过在app.json5中增加"apiReleaseType": “Release1”,但不起作用,我已经尝试了很多方法,打包出来都没法是 Release版本,麻烦告诉告诉我一下方法,谢谢。

4 回复

已经找到问题了,应该是我下载的full sdk 20 版本是Beta1有关。


在DevEco Studio 6.0.0中,ReleaseType显示为Beta版本是因为项目配置的compileSdkVersion与HarmonyOS SDK的Beta版本绑定。检查项目的build-profile.json5文件,确认compileSdkVersion的值是否为Beta版SDK(如"12.0.0.100")。如需生成Release版本,需将compileSdkVersion切换至对应的Release版SDK(如"12.0.0.0"),并重新编译。

在HarmonyOS Next开发中,apiReleaseType 字段的取值是由您项目所依赖的SDK(即compileSdkVersion)的版本类型直接决定的,而非在app.json5中手动配置。

核心原因分析: 当您将项目的 compileSdkVersion 设置为 20 时,这表示您使用的是API Version 20的SDK。目前,OpenHarmony/HarmonyOS Next的SDK版本存在两种发布类型:

  1. Canary/Beta版SDK:通常用于开发者预览和早期测试,其对应的应用打包后,apiReleaseType 会自动标识为 BetaX(如 Beta1)。
  2. Release版SDK:稳定发布的正式版SDK,其对应的应用打包后,apiReleaseType 会自动标识为 ReleaseX

由于API Version 20目前尚处于Beta测试阶段,因此无论您在配置文件中如何设置,只要编译SDK版本为20,打包生成的HAP其 apiReleaseType 就必然是 Beta1。您在 app.json5 中手动添加 "apiReleaseType": "Release1" 的配置是无效的,该字段为系统根据SDK类型自动生成的只读属性。

结论与现状: 您所观察到的现象是正常的。要打包出 apiReleaseTypeRelease 的HAP,需要满足一个前提条件:将项目的 compileSdkVersion 切换至已正式发布的(Release版)SDK版本

请关注HarmonyOS官方开发者网站或DevEco Studio的SDK Manager,以获取API Version 20或更高版本SDK的正式发布状态。当您使用的SDK变为Release版后,此问题将随之解决。目前基于API 20的开发与打包流程不受此标识影响。

回到顶部