diff --git a/zh-cn/application-dev/quick-start/cross-app-hsp.md b/zh-cn/application-dev/quick-start/cross-app-hsp.md index 91a8972480dc84591d93ed4284243b342eaf7aa5..7f6107d612a6eab95d51b2b14f21eae856153b2b 100644 --- a/zh-cn/application-dev/quick-start/cross-app-hsp.md +++ b/zh-cn/application-dev/quick-start/cross-app-hsp.md @@ -7,12 +7,12 @@ 1. 应用间`HSP`的代码会运行再开发者应用的进程中,调用相关代码时,需要做好异常捕获与容错处理,防止由于应用间`HSP`功能异常导致的稳定性问题。 2. 一个应用可以同时依赖多个应用间`HSP`。 3. 应用间`HSP`会影响开发者应用自身的启动时间,依赖过多的应用间`HSP`可能会导致启动时延发生明显的劣化,建议将依赖的数目控制在16个以内。 -4. 当前三方开发者开发者只能使用系统提供的应用间`HSP`,不支持开发并发布自己的应用间`HSP`。 +4. 应用间`HSP`安装时需要对特权权限进行校验,如果想要开发应用间`HSP`,需要配置allowAppShareLibrary应用特权,具体配置方式参考[应用特权配置指南](../../device-dev/subsystems/subsys-app-privilege-config-guide.md)。 ## 应用间HSP的使用 应用间HSP会分为两部分对外发布: -一部分为[HAR](har-package.md),这部分`HAR`中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将`HAR`集成到自身的工程中,然后就可以通过调用`HAR`中提供的对象与方法完成自身的应用功能。 +一部分为[HAR](har-package.md),`HAR`包中不会包含具体的功能实现代码,而仅仅包含导出的对象与方法,所以体积很小。应用开发者将`HAR`包集成到自身的工程中,然后就可以通过调用`HAR`包中提供的对象与方法完成自身的应用功能。 另外一部分为HSP,这部分为应用间`HSP`的具体实现,里面包含js/ts代码、C++库、资源和配置文件。这部分会上架到应用市场或者集成到系统版本中。 @@ -23,7 +23,7 @@ src ├── main | └── module.json5 ├── index.d.ets -└── package.json +└── oh-package.json5 ``` `index.d.ets`内容样例如下: ```ts @@ -117,7 +117,7 @@ extern "C" __attribute__((constructor)) void RegisterLibaModule(void) { } ``` ### 使用HAR导出的能力 -引用`HAR`前,需要先配置对`HAR`的依赖,配置方式可参考[文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。`HAR`配置成功后,在配置模块的`module.json`中会生成相关依赖项信息,如下所示: +引用`HAR`前,需要先配置对`HAR`的依赖,配置方式可参考[文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-development-npm-package-0000001222578434#section89674298391)。`HAR`配置成功后,在配置模块的`module.json5`中会生成相关依赖项信息,如下所示: ```json "dependencies": [ { @@ -218,4 +218,4 @@ bm install -p feature.hap ``` 4. 启动开发者自身的应用,调试相关功能。 -**注意**:步骤2和步骤3不可以颠倒,否则会由于缺少必要的应用间`HSP`导致开发者的应用安装失败。更多`bm`相关指令可以参考[文档](https://gitee.com/openharmony/bundlemanager_bundle_framework#bm%E5%B7%A5%E5%85%B7%E5%91%BD%E4%BB%A4)。 \ No newline at end of file +**注意**:步骤2和步骤3不可以颠倒,否则会由于缺少必要的应用间`HSP`导致开发者的应用安装失败。更多`bm`相关指令可以参考[文档](https://gitee.com/openharmony/bundlemanager_bundle_framework#bm%E5%B7%A5%E5%85%B7%E5%91%BD%E4%BB%A4)。 diff --git a/zh-cn/application-dev/quick-start/har-package.md b/zh-cn/application-dev/quick-start/har-package.md index 88e4c47a32bf2d7fe0162c177ae638ef12ee053a..cef09be1ef5764c019c3b726bcd2dc333aea2c03 100644 --- a/zh-cn/application-dev/quick-start/har-package.md +++ b/zh-cn/application-dev/quick-start/har-package.md @@ -27,7 +27,7 @@ artifactType字段有以下两种取值,默认缺省为original。 - Stage模型的HAR,不能引用AppScope内的内容。在编译构建时APPScope中的内容不会打包到HAR中,导致HAR资源引用失败。 ## 导出HAR的ArkUI组件、接口、资源 -index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的package.json文件中的main字段配置入口声明文件,配置如下所示: +index.ets文件是HAR导出声明文件的入口,HAR需要导出的接口,统一在index.ets文件中导出。index.ets文件是DevEco Studio默认自动生成的,用户也可以自定义,在模块的oh-package.json5文件中的main字段配置入口声明文件,配置如下所示: ```json { "main": "index.ets" diff --git a/zh-cn/application-dev/quick-start/in-app-hsp.md b/zh-cn/application-dev/quick-start/in-app-hsp.md index 177700e909363128a4df4da45de0e1d7c56f36f8..0cd31484efcafe7e7512efbb6f3fc2718cee6b5e 100644 --- a/zh-cn/application-dev/quick-start/in-app-hsp.md +++ b/zh-cn/application-dev/quick-start/in-app-hsp.md @@ -15,7 +15,7 @@ library │ │ └── index.ets │ ├── resources │ └── module.json5 -└── package.json +└── oh-package.json5 ``` 模块`module.json5`中的`"type"`标识模块类型,`HSP`的`"type"`是`"shared"`。 ```json @@ -24,7 +24,7 @@ library } ``` -`HSP`通过在入口文件中导出接口,对外提供能力。入口文件在模块`package.json`的`"main"`中配置。例如: +`HSP`通过在入口文件中导出接口,对外提供能力。入口文件在模块`oh-package.json5`的`"main"`中配置。例如: ```json { "main": "./src/main/ets/index.ets" @@ -103,9 +103,9 @@ export { nativeMulti } from './utils/nativeTest' ``` ## 使用应用内HSP -要使用`HSP`中的接口,首先需要在使用方的`package.json`中配置对它的依赖。如果应用内`HSP`和使用方在同一工程下,可以直接本地引用,例如: +要使用`HSP`中的接口,首先需要在使用方的`oh-package.json5`中配置对它的依赖。如果应用内`HSP`和使用方在同一工程下,可以直接本地引用,例如: ```json -// entry/src/main/module.json5 +// entry/oh-package.json5 "dependencies": { "library": "file:../library" } diff --git a/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md b/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md index c1bd5906e9b3b09a0bb798d9ff7e3f0153160f86..d419e97908206ae61b47aaacbe0ecae625f56db9 100755 --- a/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md +++ b/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md @@ -63,6 +63,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单 | allowAbilityExcludeFromMissions | bool | false| 是否允许Ability不在任务栈中显示。 | | allowAppUsePrivilegeExtension | bool | false|是否允许应用使用ServiceExtension、DataExtension。 | | allowFormVisibleNotify | bool | false| 是否允许桌面卡片可见。 | +| allowAppShareLibrary | bool | false | 是否允许为其它应用提供[应用间`HSP`](../../application-dev/quick-start/cross-app-hsp.md)能力。 ### 配置方式 @@ -90,6 +91,7 @@ OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单 "allowAbilityExcludeFromMissions": true, // 允许Ability不在任务栈中显示 "allowAppUsePrivilegeExtension": true, // 允许应用使用ServiceExtension、DataExtension "allowFormVisibleNotify": true // 允许桌面卡片可见 + "allowAppShareLibrary": true // 允许应用提供应用间HSP能力 }, } ```