1# 预置应用配置与安装指导
2
3预置应用是指随设备出厂预置的应用。OpenHarmony支持在不同设备上对预置应用进行差异化配置,设备厂商可根据需要对与预置应用进行配置。
4
5## 将应用配置为预置应用
6
71. 在进行预置应用配置前,使用如下命令查询系统支持的预置目录。
8
9   命令查询结果如system、chipset、sys_prod、chip_prod等,并且返回的顺序越靠后优先级越高,如chip_prod的优先级高于system的优先级。本文以路径/system/etc/app/为例。
10
11```
12hdc shell param get const.cust.config_dir_layer
13```
14
152. 在install_list.json中配置hap在设备上的路径。
16
17```
18hdc shell mount -o rw,remount /
19hdc file recv /system/etc/app/install_list.json .
20```
21
223. 按照json中的配置方式,配置对应的字段。
23
24```
25{
26    "install_list" : [
27        {
28            "app_dir":"system/app/xxxx/yyyy",  // 设备上的hap路径,如果不存在,需要手动创建,并推送hap到此目录。
29            "removable":true // 是否支持卸载,false表示不可卸载,true表示可以卸载。
30        }
31    ]
32}
33```
34
354. 修改完成后,将install_list.json文件推送到设备上,并重启设备生效。
36
37```
38    hdc shell mount -o rw,remount /
39    hdc file send install_list.json /system/etc/app/install_list.json
40    hdc shell reboot
41```
42
43## 更新预置应用
44
45预置应用更新后,使用如下方法重新安装。
46
47- 方法一:直接清空data,重启设备,应用会自动安装。
48
49```
50    hdc shell mount -o rw,remount /
51    hdc shell rm /data/* -rf
52    hdc shell sync
53    hdc shell /system/bin/udevadm trigger
54    hdc shell reboot
55```
56- 方法二:执行如下命令,重启设备,应用即可安装。
57
58    如果应用之前已经安装过,这时推送新的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对象内部结构)标签)大于之前的版本号。
59
60```
61    hdc shell mount -o rw,remount /
62    hdc shell param set persist.bms.test-upgrade true
63    hdc shell reboot
64```
65
66# 预置不安装列表配置
67
68[uninstall_list.json](https://gitee.com/openharmony/vendor_hihope/blob/master/rk3568/preinstall-config/uninstall_list.json)的配置优先级高于install_list.json,在该文件中配置后,则对应的预置应用不会安装。
69
70## 示例一
71
72```
73/system/etc/app/uninstall_list.json
74{
75    "uninstall_list" : ["/system/app/Hiworld"],  // 配置后,则Hiworld不会被安装
76    "recover_list" : []
77}
78```
79
80## 示例二
81
82```
83/system/etc/app/uninstall_list.json
84{
85    "uninstall_list" : ["/system/app/Hiworld"],
86    "recover_list" : []
87}
88
89/chipset/etc/app/uninstall_list.json
90{
91    "uninstall_list" : [],
92    "recover_list" : ["/system/app/Hiworld"] // 配置后,则Hiworld被恢复安装
93}
94```
95
96