changelog-v3.2-beta3.md 7.9 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4
# 3.2 beta3相对于3.2 beta2变更详细说明

## 包管理子系统

Z
zengyawen 已提交
5 6 7 8
Beta3版本上增加了预置应用特权管控能力,可以分为两部分:预置应用权限管控和预置应用的配置方法。
应用特权是指应用所具备的一些高等级的特殊能力,比如限制应用不可被卸载、应用内数据不可被删除等。
OpenHarmony提供通用的应用特权和可由设备厂商针对不同设备单独配置的应用特权。OpenHarmony支持在不同产品上对预置应用进行差异化配置,设备厂商可根据需要对预置应用进行配置。此外,OpenHarmony根据GetCfgDirList获得系统支持的预置目录,如system、chipset、sys_prod、chip_prod;并且按照返回的顺序越靠后优先级越高,如chip_prod的优先级高于system的优先级。

Z
zengyawen 已提交
9 10
### 预置应用安装方式变更

Z
zengyawen 已提交
11 12 13 14 15 16 17 18 19 20 21 22 23 24
当前预置应用的安装方式由自动扫描目录/system/app下面的hap安装,变更为通过白名单配置方式安装。在install_list.json中配置app-dir的hap才会被自动安装,并成为预置应用。

**变更影响**

不涉及js及native接口,对开发应用无影响。

**关键的接口/组件变更**



**适配指导**

[/system/etc/app/install_list.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list.json)文件中配置相关字段,app_dir表示hap所在的目录,removable表示hap安装后是否可卸载。如下所示:

Z
zengyawen 已提交
25
```json
Z
zengyawen 已提交
26 27 28 29 30 31 32 33 34 35 36 37 38 39
{
    "install_list" : [
        {
            "app_dir" : "/system/app/com.ohos.systemui",
            "removable" : false
        },
        {
            "app_dir" : "/system/app/demo.hap",
            "removable" : true
        }
    ]
}
```

Z
zengyawen 已提交
40 41
### 通用应用特权管控变更

Z
zengyawen 已提交
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
通用的应用特权是指应用在不同设备类型上都可以获得的特权,可分为以下几种:
| 权限 | 描述                                                       |
| ---------------- | ------------------------------------------------------------ |
| AllowAppDataNotCleared | 是否允许应用数据被删除 |
| AllowAppMultiProcess | 是否允许应用多进程 |
| AllowAppDesktopIconHide | 是否允许隐藏桌面图标 |
| AllowAbilityPriorityQueried | 是否允许Ability配置查询优先级     |
| AllowAbilityExcludeFromMissions | 是否允许Ability不在任务栈中显示 |
| AllowAppUsePrivilegeExtension | 是否允许应用使用ServiceExtension、DataExtension |
| AllowFormVisibleNotify | 是否允许桌面卡片可见 |

上述特权之前通过config.json或者module.json进行配置,并结合是否为预置应用和系统应用进行区分,本次变更为根据签名证书和预置白名单的方式进行配置,其它方式均无效。

**变更影响**

Z
zengyawen 已提交
57
不涉及js及native接口,如果开发的应用中使用上述特权,那就需要应用开发者申请对应的特权,申请及配置方式可参考[应用配置指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md)
Z
zengyawen 已提交
58 59 60 61 62 63 64 65 66

**关键的接口/组件变更**



**适配指导**

可参考[应用配置指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md)

Z
zengyawen 已提交
67
```json
Z
zengyawen 已提交
68 69 70 71 72 73 74 75 76 77 78 79
{
    "version-name": "1.0.0",
    ...
    "bundle-info": {
        "developer-id": "OpenHarmony",
        ...
    },
    "issuer": "pki_internal",
    "app-privilege-capabilities": ["AllowAppDataNotCleared", "AllowAppDesktopIconHide"] // 应用的数据不允许被删除且允许隐藏桌面图标
}
```

Z
zengyawen 已提交
80
### 产品化应用特权管控变更
Z
zengyawen 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
除了通用应用特权外,设备厂商还可以为各类设备额外定义允许配置的特权项,包括:

| 权限                  | 类型     | 默认值 | 描述                                              |
| --------------------- | -------- | ------ | ------------------------------------------------- |
| removable             | bool     | true   | 是否允许应用被卸载,仅预置应用生效                |
| keepAlive             | bool     | false  | 是否允许应用常驻                                  |
| singleton             | bool     | false  | 是否允许应用安装到单用户下(U0)                    |
| allowCommonEvent      | string[] | -      | 是否允许静态广播拉起                              |
| associatedWakeUp      | bool     | false  | 是否允许FA模型应用被关联唤醒                      |
| runningResourcesApply | bool     | false  | 是否允许应用运行资源申请(CPU、事件通知、蓝牙等) |

上述特权之前通过config.json或者module.json进行配置,并结合是否为预置应用和系统应用进行区分,本次变更为根据预置白名单[install_list_capability.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list_capability.json)的方式进行配置,其它方式均无效。

**变更影响**

Z
zengyawen 已提交
96
不涉及js及native接口,如果开发的应用中使用上述特权,那就需要应用开发者申请对应的特权,可参考[配置方式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md#%E9%85%8D%E7%BD%AE%E6%96%B9%E5%BC%8F-1)
Z
zengyawen 已提交
97 98 99 100 101 102 103 104 105

**关键的接口/组件变更**



**适配指导**

可参考[配置方式](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-app-privilege-config-guide.md#%E9%85%8D%E7%BD%AE%E6%96%B9%E5%BC%8F-1)

Z
zengyawen 已提交
106
```json
Z
zengyawen 已提交
107 108 109
{
    "install_list": [
        {
Z
zengyawen 已提交
110
            "bundleName": "com.example.kikakeyboard",
Z
zengyawen 已提交
111 112 113 114
            "singleton": true, // 应用安装到单用户下
            "keepAlive": true, // 应用常驻
            "runningResourcesApply": true, // 运行资源申请(CPU、事件通知、蓝牙等)
            "associatedWakeUp": true, // FA模型应用被关联唤醒
Z
zengyawen 已提交
115 116
            "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC"], // 当配置的证书指纹和hap的证书指纹一致才生效
            "allowCommonEvent": ["usual.event.SCREEN_ON", "usual.event.THERMAL_LEVEL_CHANGED"]
Z
zengyawen 已提交
117 118 119
        }
}
```
Z
zengyawen 已提交
120 121

### 预授权白名单增加指纹信息校验
Z
zengyawen 已提交
122 123 124 125 126 127 128 129 130 131 132 133 134

预授权文件[install_list_permissions.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list_permissions.json)在开发板上的路径由system/etc/permission变更为system/etc/app/。新增字段app_signature,表示hap的指纹信息,可以配置多个指纹信息。在授权时,指纹信息匹配成功才能授权。

**变更影响**

不涉及js及native接口,如果开发的应用中使用了预授权能力,需要在预授权文件中增加指纹信息,未配置会导致预授权失败。

**关键的接口/组件变更**



**适配指导**
可参考:
Z
zengyawen 已提交
135
```json
Z
zengyawen 已提交
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
{
[
    {
        "bundleName" : "com.ohos.screenshot",
        "app_signature" : ["8E93863FC32EE238060BF69A9B37E2608FFFB21F93C862DD511CBAC9F30024B5"],
        "permissions" : [
            {
                "name" : "ohos.permission.MEDIA_LOCATION",
                "userCancellable" : true
            },
            {
                "name" : "ohos.permission.READ_MEDIA",
                "userCancellable" : true
            },
            {
                "name" : "ohos.permission.WRITE_MEDIA",
                "userCancellable" : true
            }
        ]
    }
}
Z
zengyawen 已提交
157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
```

## ArkUI子系统

### 修复FA模型下编译构建release hap模式的公共模块变量共享问题

两个页面依赖同一个文件的对象(foodData)时,当页面A修改了这个对象,当页面B读取这个对象时,获取到的是页面A修改后的值,从而实现了公共模块对象共享。

**变更影响**

FA模型下的公共模块变量共享之前是作为需求交付的,在中间某个版本开始,编译release的hap该功能缺失,编译debug的hap一直是正常的,在830版本修复了编译release hap模式下的公共模块变量共享功能。

不影响应用编译,无需适配接口。

**关键的接口/组件变更**