• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 应用配置文件概述(FA模型)
2
3
4每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向OpenHarmony的编译工具、OpenHarmony操作系统和应用市场提供描述应用的基本信息。
5
6
7应用配置文件需申明以下内容:
8
9
10- 应用的软件包名称,应用的开发厂商,版本号等应用的基本配置信息,这些信息被要求设置在app这个字段下。
11
12- 应用的组件的基本信息,包括所有的Ability,设备类型,组件的类型以及当前组件所使用的语法类型。
13
14- 应用在具体设备上的配置信息,这些信息会影响应用在设备上的具体功能。
15
16
17在FA模型的应用开发过程中,需要在config.json配置文件中对应用的包结构进行声明。
18
19
20## 配置文件的内部结构
21
22config.json由app、deviceConfig和module三个部分组成,缺一不可。
23
24| 属性名称 | 含义 | 数据类型 | 是否可缺省 |
25| -------- | -------- | -------- | -------- |
26| [app](app-structure.md) | 标识应用的全局配置信息。同一个应用的不同HAP的app配置必须保持一致。 | 对象 | 不可缺省。 |
27| [deviceConfig](deviceconfig-structure.md) | 标识应用在具体设备上的配置信息。 | 对象 | 不可缺省。 |
28| [module](module-structure.md) | 标识HAP的配置信息。该标签下的配置只对当前HAP生效。 | 对象 | 不可缺省。 |
29
30config.json示例:
31
32
33```json
34{
35  "app": {
36    "vendor": "example",
37    "bundleName": "com.example.demo",
38    "version": {
39      "code": 1000000,
40      "name": "1.0.0"
41    }
42  },
43  "deviceConfig": {
44  },
45  "module": {
46    "mainAbility": ".MainAbility_entry",
47    "deviceType": [
48      "tablet"
49    ],
50    "commonEvents": [
51      {
52        "name": ".MainAbility",
53        "permission": "ohos.permission.GET_BUNDLE_INFO",
54        "data": [
55          "com.example.demo",
56          "100"
57        ],
58        "events": [
59          "install",
60          "update"
61        ]
62      }
63    ],
64    "abilities": [
65      {
66        "skills": [
67          {
68            "entities": [
69              "entity.system.home"
70            ],
71            "actions": [
72              "action.system.home"
73            ]
74          }
75        ],
76        "orientation": "unspecified",
77        "visible": true,
78        "srcPath": "MainAbility_entry",
79        "name": ".MainAbility_entry",
80        "srcLanguage": "ets",
81        "icon": "$media:icon",
82        // $string:MainAbility_entry_desc为资源索引
83        "description": "$string:MainAbility_entry_desc",
84        "formsEnabled": false,
85        // $string:MainAbility_entry_label为资源索引
86        "label": "$string:MainAbility_entry_label",
87        "type": "page",
88        "launchType": "standard"
89      }
90    ],
91    "distro": {
92      "moduleType": "entry",
93      "installationFree": false,
94      "deliveryWithInstall": true,
95      "moduleName": "myapplication"
96    },
97    "package": "com.example.myapplication",
98    "srcPath": "",
99    "name": ".myapplication",
100    "js": [
101      {
102        "mode": {
103          "syntax": "ets",
104          "type": "pageAbility"
105        },
106        "pages": [
107          "pages/index"
108        ],
109        "name": ".MainAbility_entry",
110        "window": {
111          "designWidth": 720,
112          "autoDesignWidth": false
113        }
114      }
115    ]
116  }
117}
118```
119