OpenHarmony应用开发之全局配置参数解析
OpenHarmony应用开发之全局配置参数解析
-
- 一、前言
- 二、app 闭包
- 三、deviceConfig闭包
- 四、module 闭包
-
- 1.package
- 2.name
- 3.mainAbility
- 4.srcPath
- 5. deviceType
- 6. distroo
- 7.abilities
- 8.js
- 五、总结
一、前言
一般的项目都有全局模块的配置,OpenHarmony系统的应用同样也有这样的一个模块config.json,类似安卓中的AndroidManifest.xml,作用是相似的,配置应用板块,带大家来进一步解析其中的参数,以下给出一般的结构,正文即将开始~~
{ "app": {}, "deviceConfig": {}, "module": {}}
二、app 闭包
"app": { "bundleName": "com.example.myapplication", "vendor": "example", "version": { "code": 1000000, "name": "1.0.0" }}
app这个闭包里面包含几个参数,接下来一一进行解析
-
bundleName
这个就是包名的意思,一般情况下在本地的电脑上唯一即可
-
vendor
这个参数一般是公司名等,如果需要上线的app最后不要用默认的example,这个名字需要自己提供,不然会提示这个包名不可用
-
version
这个参数里面包含版本名,版本名字
三、deviceConfig闭包
"deviceConfig": {}
这个参数比较简单,可以默认不写,具体使用可以ctrl 然后鼠标单击名称即可进入详细注释界面,这里可以添加自己需要的参数,并且有解释说明
四、module 闭包
"module": { "package": "com.example.myapplication", "name": ".MyApplication", "mainAbility": ".MainAbility", "srcPath": "", "deviceType": [], "distro": {}, "abilities": [], "js": []}
这是module包的整体属性,当然属性还有详细的属性,这里分点进行解析
1.package
这个即包名的意思,可能你有点疑惑,上面不是也有一个包名吗?是的当我们的app没有其他module时这两个是一样的,当我们需要使用他人开发好的模块时,这时就有可能出现两个包名,当然以上面那个作为主包名
"package": "com.example.myapplication"
2.name
这里是包名的一个省略,即项目名,.即省略绝对路径,这里使用相对路径
"name": ".MyApplication"
3.mainAbility
主要的组件,这里和name是一样
"mainAbility": ".MainAbility"
4.srcPath
资源的路径,默认为空即使用系统默认的资源储存路径,具体路径仍然可以ctrl + 鼠标单击进入详细页,这里就不赘述了
"srcPath": ""
5. deviceType
适用的设备,默认是phone,也可以根据自己的项目进行配置,这里是一个数组类型,可以配置多个同种类型的参数
"deviceType": [ "phone"]
6. distroo
这个主要配置安装属性,已经模块的名称和类型等
"distro": { "deliveryWithInstall": true, "moduleName": "entry", "moduleType": "entry", "installationFree": false}
7.abilities
这里abilities需要注意的是,只能配置一个,这里为全局的缘故
"abilities": [ { "skills": [ { "entities": [ "entity.system.home" ], "actions": [ "action.system.home" ] } ], "orientation": "unspecified", "visible": true, "srcPath": "MainAbility", "name": ".MainAbility", "srcLanguage": "js", "icon": "$media:icon", "description": "$string:description_mainability", "formsEnabled": false, "label": "$string:entry_MainAbility", "type": "page", "launchType": "standard" }],
-
skills
这个属性即类似安卓中的intent,指定当前的ability能够接受的类型,用于各个界面之间的通信
-
orientation
指定屏幕的状态,横屏竖屏等,不知道即随系统进行转换
-
visible
指定当前ability是否可见
-
srcPath,name
资源路径和其名字和上面一层里面的参数是类似的
-
srcLanguage
源语言,即主要使用的语言,目前OpenHarmony只支持JS和eTS开发
-
icon
即应用程序的图标
-
description
此ability的描述
-
formsEnabled
这个字段为布尔类型,用于配置此应用是否能够以卡片的形式进行运行
-
label
即标题栏
-
type
类型,这里为page即界面类型的
-
launchType
启动类型,这里和安卓启动模式类型,具体配置,可以自行探索
8.js
这里主要简述了js逻辑控制方面的配置,也是比较简单的
"js": [ { "pages": [ "pages/index/index", "pages/second/second" ], "name": ".MainAbility", "window": { "designWidth": 720, "autoDesignWidth": false } }]
-
pages
这里主要是设置页面路径
-
name
即名字
-
windows
这个字段主要配置ability在具体界面显示的大小
五、总结
整体解析下来,应该对于OpenHarmony开发应用中的主配置文件config.json有了一定的了解,如果你有一定的安卓开发基础,这些对你而言应该很容易,下一篇见~~