> 文档中心 > OpenHarmony应用开发之全局配置参数解析

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有了一定的了解,如果你有一定的安卓开发基础,这些对你而言应该很容易,下一篇见~~

书法艺术字体