一、前言
一般的项目都有全局模块的配置,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有了一定的了解,如果你有一定的安卓开发基础,这些对你而言应该很容易,下一篇见~~