HarmonyOS鸿蒙Next中想开发个SDK,但是需要在SDK内部有个@Entry声明的页面,供其他hap使用,但是发现har不能声明pages。

HarmonyOS鸿蒙Next中想开发个SDK,但是需要在SDK内部有个@Entry声明的页面,供其他hap使用,但是发现har不能声明pages。 1、目前需要开发一个SDK,是选HAR呢还是选择HSP,HAR可以混淆,HSP是否也可以混淆,文档上没看到HSP共享包如何混淆

2、开发的SDK,需要提供一个@Entry声明的page,如何提供外部,让开发者可以直接通过路由跳转?

各路大神给看看这个怎么处理?

6 回复

更多关于HarmonyOS鸿蒙Next中想开发个SDK,但是需要在SDK内部有个@Entry声明的页面,供其他hap使用,但是发现har不能声明pages。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可以使用命名路由,后面方案跳转不过去,能分享下具体该怎么操作吗

我也有这样的需求,想在HAR包中有page页面,上面大佬能否分享下具体实现,

在最新的API11上,har已经可以使用包含page页面了,通过命名路由的方式跳转即可,

在HarmonyOS鸿蒙Next中,HAR(HarmonyOS Ability Resources)不支持直接声明@Entry页面。HAR主要用于共享资源、工具类和公共组件,而不是用于声明入口页面。如果你需要在SDK中提供一个页面供其他HAP(HarmonyOS Ability Package)使用,可以考虑以下方案:

  1. 使用FA(Feature Ability)或PA(Particle Ability):在SDK中提供一个FA或PA,其他HAP可以通过调用该FA或PA来启动页面。FA和PA是HarmonyOS中用于实现功能模块的基本单位,可以在HAR中定义并供其他HAP调用。

  2. 使用Page Ability:在SDK中定义一个Page Ability,其他HAP可以通过startAbility方法启动该Page Ability。Page Ability是HarmonyOS中用于展示页面的基本单位,可以在HAR中定义并供其他HAP调用。

  3. 使用Service Ability:如果页面需要与后台服务交互,可以在SDK中定义一个Service Ability,其他HAP可以通过startAbility方法启动该Service Ability。Service Ability是HarmonyOS中用于处理后台任务的基本单位,可以在HAR中定义并供其他HAP调用。

  4. 使用Intent:在SDK中定义一个Intent,其他HAP可以通过startAbility方法启动该Intent。Intent是HarmonyOS中用于启动Ability的基本单位,可以在HAR中定义并供其他HAP调用。

通过以上方案,你可以在SDK中提供一个页面供其他HAP使用,而不需要在HAR中直接声明@Entry页面。

在HarmonyOS鸿蒙Next中,HAR(HarmonyOS Ability Resources)确实不支持直接声明@Entry页面。你可以考虑将页面逻辑封装在HAR中,然后在HAP(HarmonyOS Ability Package)中通过@Entry引用该页面。具体做法是将页面组件和逻辑放在HAR中,然后在HAP的pages目录下创建一个@Entry页面,通过import引入HAR中的组件并渲染。这样可以实现代码复用,同时满足HAP的页面声明需求。

回到顶部