HarmonyOS 鸿蒙Next DevEco Studio 编译出来的HAP怎么区分是OpenHarmony还是HarmonyOS的?

HarmonyOS 鸿蒙Next DevEco Studio 编译出来的HAP怎么区分是OpenHarmony还是HarmonyOS的? 疑问: 我在DevEco Studio 中开发了一个应用,通过修改模块级的build-profile.json5文件中的"runtimeOS"字段,分别改为了"HarmonyOS"和"OpenHarmony"后编译成各自的HAP包,我发现这两个包都可以通过hdc install安装到开发板上并正常运行,我的理解是只有"runtimeOS"为"OpenHarmony"时,编译的HAP才可以运行在开发板上。

为什么两种方式编译出来的HAP都可以运行在OpenHarmony的开发板上呢?

IDE版本:

DevEco Studio 3.1 Release
Build Version: 3.1.0.500, built on April 28, 2023
Build #DS-223.8617.56.36.310500

OpenHarmony版本:

Dayu200, OpenHarmony 3.2.13.5


更多关于HarmonyOS 鸿蒙Next DevEco Studio 编译出来的HAP怎么区分是OpenHarmony还是HarmonyOS的?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

模块级应该会在应用级之下,你尝试更改应用级的runtimeOS

参考文档: https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/quick-start/start-with-ets-stage.md/

更多关于HarmonyOS 鸿蒙Next DevEco Studio 编译出来的HAP怎么区分是OpenHarmony还是HarmonyOS的?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


你给的是针对v4.0Beta版本的,我现在用的是v3.2Release版本的,v3.2版本应用级build-profile.json5不支持这个参数,好像4.0之后就支持了,我看v3.2版本文档写了在entry > build-profile.json5文件中修改。不纠结了,等4.0新版本发布试试新版本。

在HarmonyOS Next的DevEco Studio中,编译生成的HAP文件可以通过其配置文件来区分是OpenHarmony还是HarmonyOS。具体方法如下:

  1. 查看config.json文件:在HAP文件的config.json中,app字段下的bundleNamevendor属性可以用来区分。OpenHarmony的应用通常使用org.openharmony作为bundleName的前缀,而HarmonyOS的应用则使用com.huawei或其他特定前缀。

  2. 查看module.json5文件:在HAP文件的module.json5中,module字段下的type属性也可以用来区分。OpenHarmony的模块类型通常为entryfeature,而HarmonyOS的模块类型可能包含特定的标识符。

  3. 查看manifest.json文件:在HAP文件的manifest.json中,package字段下的name属性同样可以提供区分信息。OpenHarmony的包名通常包含openharmony,而HarmonyOS的包名则包含harmonyoshuawei

通过以上方法,可以较为准确地判断HAP文件是属于OpenHarmony还是HarmonyOS。

回到顶部