• Home
Name Date Size #Lines LOC

..--

AppScope/22-Oct-2025-3532

entry/22-Oct-2025-2,2432,089

hvigor/22-Oct-2025-2221

libraryOverlay/22-Oct-2025-199160

libraryRuntimeOverlay/22-Oct-2025-199160

sceenshots/device/22-Oct-2025-

README_zh.mdD22-Oct-20254.3 KiB11173

build-profile.json5D22-Oct-20251.6 KiB6866

hvigorfile.tsD22-Oct-2025768 171

hvigorwD22-Oct-20251.4 KiB4928

hvigorw.batD22-Oct-20251.5 KiB6547

oh-package.json5D22-Oct-2025243 1312

ohosTest.mdD22-Oct-20252.5 KiB1616

README_zh.md

1# 支持5.0特性能力sample
2
3### 介绍
4
5本示例使用[@ohos.bundle.bundleManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-bundleManager.md),[@ohos.bundle.defaultAppManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-defaultAppManager.md),[@ohos.bundle.overlay](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-ability-kit/js-apis-overlay.md)
6等接口,展示了向开发者如何调用包管理提供的public接口,验证其功能。
7
8### 效果预览
9
10|主页|
11|---|
12|![main](./sceenshots/device/Scene-directory.png)|
13
14### 使用说明
15
16此界面为主页面,其中展示了包管理各类接口的调用以及特性Overlay场景功能其作用有:
17
181、点击每个示例按钮,可调用包管理接口并把数据通过弹窗形式显现。
19
20例如下图所示,点击获取BundleInfo按钮对应的接口返回结果会通过弹窗形式显现,其他示例按钮对应的返回结果形式与其相同。
21
22|资源API测试|
23|---|
24|![main](./sceenshots/device/snapshot_directory.png)|
25
26### 工程目录
27
28```
29entry/src/main/ets/
30|---entryability
31|---newuiextability                   // ExtensionAbilitiy实现类
32|---pages
33|   |---Index.ets                     // 场景首页
34|   |---NewPage.ets                   // 静态快捷方式场景
35|---libraryOverlay                    // 动态共享包
36|---libraryRuntimeOverlay
37```
38
39动态共享包可参考:[HSP (openharmony.cn)](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/quick-start/in-app-hsp.md)
40
41### 具体实现
42
43#### 包管理API调用示例具体实现:
44
451、引入d.ts头文件import bundleManager from '@ohos.bundle.bundleManager';import defaultAppMgr from '@ohos.bundle.defaultAppManager';import overlay from '@ohos.bundle.overlay';然后调用内部的相关接口,例如:
46
47* 获取当前应用的BundleInfo:bundleManager.getBundleInfoForSelf()
48* 获取BundleInfo(sync):bundleManager.getBundleInfoForSelfSync()
49* 获取配置json:bundleManager.getProfileByAbility()
50* 获取配置json(sync):bundleManager.getProfileByAbilitySync()
51* 获取配置数组:bundleManager.getProfileByExtensionAbility()
52* 获取配置数组(sync):bundleManager.getProfileByExtensionAbilitySync()
53* 校验.abc文件:bundleManager.verifyAbc()
54* 删除.abc文件:bundleManager.deleteAbc()
55* 校验链接是否可打开:bundleManager.canOpenLink()
56* 判断默认应用:defaultAppMgr.isDefaultApplication()
57* 判断默认应用(sync):defaultAppMgr.isDefaultApplicationSync()
58* 设置overlay状态:overlay.setOverlayEnabled()
59* 获取overlayModuleInfo信息:overlay.getOverlayModuleInfo()
60* 获取多条overlayModuleInfo信息:overlay.getTargetOverlayModuleInfos()
61
62源码参考:[资源API调用示例](entry/src/main/ets/pages/Index.ets)
63
64#### 安装命令:
65
66modules.abc(任意hap中的\ets\modules.abc文件)。
67
681.由于测试verifyAbc()接口,deleteAbc()接口(分别是校验.abc文件,删除.abc文件)时依赖.abc文件,因此需要推送到指定目录:
69
70```
71hdc_std file send 本地路径\modules.abc /data/app/el1/bundle/public/com.samples.bundlemanagement/
72```
73
742.由于测试setOverlayEnabled(),getOverlayModuleInfo(),getTargetOverlayModuleInfos()(分别是设置overlay状态,获取overlayModuleInfo信息,获取多条overlayModuleInfo信息)时依赖动态共享包,因此需要共同安装:
75
76```
77hdc_std install 本地路径\entry-default-signed.hap 本地路径\libraryRuntimeOverlay-default-signed.hsp 本地路径\libraryOverlay-default-signed.hsp
78```
79
80
81### 相关权限
82
83不涉及。
84
85### 依赖
86
87不涉及。
88
89### 约束与限制
90
911.本示例仅支持标准系统上运行,支持设备:RK3568;
92
932.本示例为Stage模型,支持API12版本SDK,版本号:5.0.0.22;
94
953.本示例需要使用DevEco Studio 4.1.3 Release(Build Version: 4.1.3.500, built on January 20, 2024)才可编译运行;
96
974.本示例涉及权限至少为system_basic级别。
98
99### 下载
100
101如需单独下载本工程,执行如下命令:
102
103```
104git init
105git config core.sparsecheckout true
106echo code/BasicFeature/ApplicationModels/BundleManager/BundleManagement/ > .git/info/sparse-checkout
107git remote add origin https://gitee.com/openharmony/applications_app_samples.git
108git pull origin master
109```
110
111