未验证 提交 b7c53f74 编写于 作者: O openharmony_ci 提交者: Gitee

!18558 预置应用安装指导更新

Merge pull request !18558 from zhouwenzhi/fix_pre_install
# 预置应用配置与安装指导
预置应用是指随OpenHarmony系统出厂预置的应用。
本文介绍开发者如何将一个非预置应用配置为预置应用,以及已有预置应用更新后如何重新安装。
## 将非预置应用配置为预置应用。
1. 确定预置应用支持的路径,可以通过下述命令查询。本文将以路径/system/etc/app/为例。
```
hdc_std param get const.cust.config_dir_layer
```
2. 在install_list.json中配置hap在设备上的路径。
```
hdc_std shell mount -o rw,renount /
hdc_std file recv /system/etc/app/install_list.json .
```
3. 按照json中的配置方式,配置对应的字段。
```
{
"app_dir":"system/app/xxxx/yyyy", // 设备上的hap路径,如果不存在,需要手动创建,并推送hap到此目录。
"removable":true // 是否支持卸载,false表示不可卸载,true表示可以卸载。
}
```
4. 修改完成后,将install_list.json文件推送到设备上,并重启设备生效。
```
hdc_std shell mount -o rw,remount /
hdc_std file send install_list.json /system/etc/app/install_list.json
hdc_std shell reboot
```
## 重新安装更新后的已有预置应用
有两种方法。
- 方法一:直接清空data,重启设备,应用会自动安装。
```
hdc_std shell mount -o rw,remount /
hdc_std shell rm /data/* -rf
hdc_std shell sync
hdc_std shell /system/bin/udevadm trigger
hdc_std shell reboot
```
- 方法二:如果该应用之前没有安装过,则可以执行下面命令后重启设备。
```
hdc_std shell mount -o rw,remount /
hdc_std shell param set persist.bms.test-upgrade true
hdc_std shell reboot
```
如果应用之前已经安装过,这时继续推送新的hap到/system/app/的路径下,则需要保证应用的版本号,分为[Stage模型的版本号(versionCode)](../../application-dev/quick-start/app-configuration-file.md)[FA模型的版本号(code)](../../application-dev/quick-start/app-structure.md#version对象内部结构)比之前的大。 这时执行方法二的命令,重启后应用同样可以正常安装。需要注意的是方法二命令,不需要反复执行, 重启之后依然生效。
\ No newline at end of file
# 预置应用配置指南
# 预置应用配置与安装指导
OpenHarmony支持在不同产品上对预置应用进行差异化配置,设备厂商可根据需要对预置应用进行配置。
预置应用是指随设备出厂预置的应用。OpenHarmony支持在不同设备上对预置应用进行差异化配置,设备厂商可根据需要对与预置应用进行配置。
此外,OpenHarmony根据GetCfgDirList获得系统支持的预置目录,如system、chipset、sys_prod、chip_prod;并且按照返回的顺序越靠后优先级越高,如chip_prod的优先级高于system的优先级。
## 将应用配置为预置应用
## 预置应用安装列表配置
1. 在进行预置应用配置前,使用如下命令查询系统支持的预置目录。
命令查询结果如system、chipset、sys_prod、chip_prod等,并且返回的顺序越靠后优先级越高,如chip_prod的优先级高于system的优先级。本文以路径/system/etc/app/为例。
### 应用预置到系统中的配置步骤
```
hdc shell param get const.cust.config_dir_layer
```
2. 在install_list.json中配置hap在设备上的路径。
1. 在预置目录下创建应用的名称作为应用目录
2. 将应用预置到应用目录下,如 /system/app/Hiworld/entry.hap
3. 添加应用目录到[install_list.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/install_list.json),根据需求配置removable
```
hdc shell mount -o rw,remount /
hdc file recv /system/etc/app/install_list.json .
```
### 示例
3. 按照json中的配置方式,配置对应的字段。
```
{
"install_list" : [
{
"app_dir" : "/system/app/Hiworld",
"removable" : false // 是否可卸载
"app_dir":"system/app/xxxx/yyyy", // 设备上的hap路径,如果不存在,需要手动创建,并推送hap到此目录。
"removable":true // 是否支持卸载,false表示不可卸载,true表示可以卸载。
}
]
}
```
## 预置不安装列表配置
4. 修改完成后,将install_list.json文件推送到设备上,并重启设备生效。
```
hdc shell mount -o rw,remount /
hdc file send install_list.json /system/etc/app/install_list.json
hdc shell reboot
```
## 更新预置应用
预置应用更新后,使用如下方法重新安装。
- 方法一:直接清空data,重启设备,应用会自动安装。
```
hdc shell mount -o rw,remount /
hdc shell rm /data/* -rf
hdc shell sync
hdc shell /system/bin/udevadm trigger
hdc shell reboot
```
- 方法二:执行如下命令,重启设备,应用即可安装。
如果应用之前已经安装过,这时推送新的hap到/system/app/路径下,需保证应用的版本号(Stage模型下对应app.json5配置文件中的[versionCode](../../application-dev/quick-start/app-configuration-file.md)标签;FA模型下对应配置文件中的[code](../../application-dev/quick-start/app-structure.md#version对象内部结构)标签)大于之前的版本号。
```
hdc shell mount -o rw,remount /
hdc shell param set persist.bms.test-upgrade true
hdc shell reboot
```
# 预置不安装列表配置
[uninstall_list.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/uninstall_list.json)的配置优先级高于install_list.json,在该文件中配置后,则对应的预置应用不会安装。
### 示例一
## 示例一
```
/system/etc/app/uninstall_list.json
......@@ -39,7 +77,7 @@ OpenHarmony支持在不同产品上对预置应用进行差异化配置,设备
}
```
### 示例二
## 示例二
```
/system/etc/app/uninstall_list.json
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册