| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 2,243 | 2,089 | ||
| hvigor/ | 06-May-2025 | - | 22 | 21 | ||
| libraryOverlay/ | 06-May-2025 | - | 199 | 160 | ||
| libraryRuntimeOverlay/ | 06-May-2025 | - | 199 | 160 | ||
| sceenshots/device/ | 06-May-2025 | - | ||||
| README_zh.md | D | 06-May-2025 | 4.2 KiB | 111 | 73 | |
| build-profile.json5 | D | 06-May-2025 | 1.6 KiB | 68 | 66 | |
| hvigorfile.ts | D | 06-May-2025 | 768 | 17 | 1 | |
| hvigorw | D | 06-May-2025 | 1.4 KiB | 49 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 1.5 KiB | 65 | 47 | |
| oh-package.json5 | D | 06-May-2025 | 243 | 13 | 12 | |
| ohosTest.md | D | 06-May-2025 | 2.5 KiB | 16 | 16 |
README_zh.md
1# 支持5.0特性能力sample 2 3### 介绍 4 5本示例使用[@ohos.bundle.bundleManager](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts),[@ohos.bundle.defaultAppManager](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.defaultAppManager.d.ts),[@ohos.bundle.overlay](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.overlay.d.ts) 6等接口,展示了向开发者如何调用包管理提供的public接口,验证其功能。 7 8### 效果预览 9 10|主页| 11|---| 12|| 13 14### 使用说明 15 16此界面为主页面,其中展示了包管理各类接口的调用以及特性Overlay场景功能其作用有: 17 181、点击每个示例按钮,可调用包管理接口并把数据通过弹窗形式显现。 19 20例如下图所示,点击获取BundleInfo按钮对应的接口返回结果会通过弹窗形式显现,其他示例按钮对应的返回结果形式与其相同。 21 22|资源API测试| 23|---| 24|| 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