OpenHarmony应用开发之全局配置参数解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 一般的项目都有全局模块的配置,OpenHarmony系统的应用同样也有这样的一个模块config.json,类似安卓中的AndroidManifest.xml,作用是相似的,配置应用板块,带大家来进一步解析其中的参数,以下给出一般的结构,正文即将开始~~

一、前言

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

目录
相关文章
|
20天前
|
监控 Cloud Native 持续交付
云原生技术深度解析:重塑现代应用开发与部署范式####
本文深入探讨了云原生技术的核心概念、关键技术组件及其在现代软件开发中的重要性。通过剖析容器化、微服务架构、持续集成/持续部署(CI/CD)等关键技术,本文旨在揭示云原生技术如何促进应用的敏捷性、可扩展性和高可用性,进而推动企业数字化转型进程。不同于传统摘要仅概述内容要点,本部分将融入具体案例分析,直观展示云原生技术在实际应用中的显著成效与挑战应对策略,为读者提供更加丰富、立体的理解视角。 ####
|
24天前
|
域名解析 存储 缓存
DNS是什么?内网电脑需要配置吗?
【10月更文挑战第22天】DNS是什么?内网电脑需要配置吗?
88 1
|
1月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
48 3
|
1月前
|
机器学习/深度学习 调度
mmseg配置解析 Polynomial Decay 多项式衰减
Polynomial Decay(多项式衰减)是一种常用的学习率调度方法,通过多项式函数逐步减少学习率,帮助模型更好地收敛。公式为:\[ lr = (lr_{initial} - \eta_{min}) \times \left(1 - \frac{current\_iter}{max\_iters}\right)^{power} + \eta_{min} \]。参数包括初始学习率、最小学习率、当前迭代次数、总迭代次数和衰减指数。适用于需要平滑降低学习率的场景,特别在训练后期微调模型参数。
58 0
mmseg配置解析 Polynomial Decay 多项式衰减
|
1月前
|
网络协议 Docker 容器
docker中的DNS配置
【10月更文挑战第5天】
289 1
|
1月前
|
弹性计算 网络协议 Ubuntu
如何在阿里云国际版Linux云服务器中自定义配置DNS
如何在阿里云国际版Linux云服务器中自定义配置DNS
|
1月前
|
JSON JavaScript 前端开发
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
深入解析ESLint配置:从入门到精通的全方位指南,精细调优你的代码质量保障工具
85 0
|
1月前
|
编解码 计算机视觉
mmseg配置解析 align_corners=False
`align_corners=False` 是图像插值操作中的一个参数,影响输入和输出图像的角点对齐方式。`align_corners=True` 严格对齐角点,而 `align_corners=False` 均匀分布像素点,更适用于保持整体比例关系的任务,如语义分割。
32 0
|
1月前
|
机器学习/深度学习 编解码
mmseg配置解析 contract_dilation=True
`contract_dilation=True` 是 ResNetV1c 中的一种设置,用于解决多层膨胀卷积中的“栅格效应”。通过调整膨胀率,使卷积核在不同阶段更密集地覆盖输入特征图,避免信息丢失,提升特征提取质量,尤其在语义分割任务中效果显著。
41 0
|
1月前
|
XML Java 数据格式
手动开发-简单的Spring基于注解配置的程序--源码解析
手动开发-简单的Spring基于注解配置的程序--源码解析
46 0

推荐镜像

更多