From 19adb2b7f66c93860ed23defe48be96df1125b6e Mon Sep 17 00:00:00 2001 From: wanghang Date: Wed, 23 Feb 2022 08:28:37 +0000 Subject: [PATCH] IssueNo:#I4UYH0:updata readme Description:updata readme Sig:SIG_ApplicaitonFramework Feature or Bugfix:Feature Binary Source:No Signed-off-by: wanghang Change-Id: Iad05996b433b63f6530186e8363184915f9f77d6 --- zh-cn/OpenHarmony-Overview_zh.md | 4 +- zh-cn/readme/figures/appexecfwk.png | Bin 31029 -> 37988 bytes ...06\345\255\220\347\263\273\347\273\237.md" | 46 ++++++++---------- 3 files changed, 21 insertions(+), 29 deletions(-) rename "zh-cn/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" => "zh-cn/readme/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" (75%) diff --git a/zh-cn/OpenHarmony-Overview_zh.md b/zh-cn/OpenHarmony-Overview_zh.md index dd008d02a6..0364f1359d 100644 --- a/zh-cn/OpenHarmony-Overview_zh.md +++ b/zh-cn/OpenHarmony-Overview_zh.md @@ -271,9 +271,9 @@ OpenHarmony支持如下几种系统类型:

标准系统

-

用户程序框架

+

包管理子系统

-

提供包安装、卸载、运行及管理能力。

+

提供包安装、卸载、更新、查询等能力。

所有系统

diff --git a/zh-cn/readme/figures/appexecfwk.png b/zh-cn/readme/figures/appexecfwk.png index e40a548d48af43430fed8599b30c4efcab60fa1d..6266e68993230fa640ff7fed35a7efc7d48191f5 100755 GIT binary patch literal 37988 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 diff --git "a/zh-cn/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" "b/zh-cn/readme/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" similarity index 75% rename from "zh-cn/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" rename to "zh-cn/readme/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" index c28fc2a9ae..e70b3e555d 100755 --- "a/zh-cn/readme/\347\224\250\346\210\267\347\250\213\345\272\217\346\241\206\346\236\266\345\255\220\347\263\273\347\273\237.md" +++ "b/zh-cn/readme/\345\214\205\347\256\241\347\220\206\345\255\220\347\263\273\347\273\237.md" @@ -1,21 +1,27 @@ -# **用户程序框架子系统** +# **包管理子系统** ## 简介 -用户程序框架子系统是OpenHarmony为开发者提供的一套开发OpenHarmony应用程序的框架。 +包管理子系统负责应用安装包的管理,提供安装包的信息查询、安装、更新、卸载和包信息存储等能力。具体功能如下: -**包含以下模块**: +包管理子系统架构如下图所示: -- **AppKit**:是用户程序框架提供给开发者的开发包,开发者基于该开发包可以开发出基于Ability组件的应用。 - -- **AppManagerService**:应用管理服务,用于管理应用运行关系、调度应用进程生命周期及状态的系统服务。 +![](figures/appexecfwk.png) -- **BundleManagerService**:是负责管理安装包的系统服务,常见的比如包安装、更新,卸载和包信息查询等,运行在Foundation进程。 -应用程序框架子系统架构如下图所示: - -![](figures/appexecfwk.png) +## 部件内子模块职责 +| 子模块名称 | 职责 | +| ---------------- | ------------------------------------------------------------ | +| 包管理接口模块 | 1.对外提供的安装更新卸载及通知接口;
2.对外提供的包/组件信息/权限信息查询接口;
3.对外提供的应用权限查询接口;
4.对外提供的清除数据的接口; | +| 扫描模块 | 1.预置应用的扫描;
2.已安装三方应用的扫描;
3.包配置文件的解析; | +| 安全管理模块 | 1.安装过程中的签名校验;
2.安装过程中应用所申请权限的授予;
3.应用运行中权限的校验; | +| DBMS模块 | 1.获取指定设备ability信息; | +| 安装管理模块 | 1.安装、更新、卸载逻辑处理及结果通知; | +| 包信息管理模块 | 1.包信息、组件信息的存储及同步; | +| 设备状态监听模块 | 1.监听设备的上下线; | +| Installd模块 | 特权进程:
1)用于创建、删除等目录操作;
2)用于创建、删除等文件操作;
3)用于设备目录的沙箱uid/gid等操作 | +| DFX | 1.包管理维测工具 | ## 目录 @@ -29,24 +35,12 @@ foundation/appexecfwk/standard ├── interfaces │   └── innerkits # 内部接口存放目录 ├── services -│   ├── appmgr # 用户程序管理服务框架代码 │   └── bundlemgr # 包管理服务框架代码 +│   └── dbms # 分布式包管理服务框架代码 ├── test # 测试目录 └── tools # bm命令存放目录 ``` -### 使用说明 - -当前版本用户程序框架不具备权限管理的能力。 - -以下模块的JS接口为非正式API,仅供Launcher、Settings、SystemUI等系统应用使用,不排除对这些接口进行变更的可能性,后续版本将提供正式API。 - -- @ohos.bundle_mgr.d.ts -- bundleinfo.d.ts -- common.d.ts -- installresult.d.ts -- moduleinfo.d.ts - ### bm工具命令 bm是用来方便开发者调试的一个工具。bm工具被hdc工具封装,进入hdc shell命令后,就可以使用bm工具。 @@ -184,10 +178,8 @@ bm get -u ## 相关仓 -用户程序框架子系统 +包管理子系统 **appexecfwk_standard** -aafwk_standard - -startup_appspawn +developtools_packing_tool -- GitLab