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