#2023盲盒+码# OpenHarmony应用的各种配置文件 原创

zhushangyuan_
发布于 2023-9-9 00:24
浏览
0收藏

【本文正在参加 2023「盲盒」+码有奖征文活动】,活动链接 https://ost.51cto.com/posts/25284

OpenHarmony应用的各种配置文件

应用配置文件

每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。

在基于Stage模型开发的应用项目代码下,都存在一个app.json5及一个或多个module.json5这两种配置文件。

  • app.json5主要包含以下内容:

应用的全局配置信息,包含应用的Bundle名称、开发厂商、版本号等基本信息。

特定设备类型的配置信息。存在于工程根目录下的AppScope目录下。

示例如下:

{
  "app": {
    "bundleName": "com.example.aotdemo",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }
}
  • module.json5主要包含以下内容:

Module的基本配置信息,例如Module名称、类型、描述、支持的设备类型等基本信息。

应用组件信息,包含UIAbility组件和ExtensionAbility组件的描述信息。

应用运行过程中所需的权限信息。存在于模块根目录下;自动化测试程序也属于度量的模块,也有自己的模块配置文件,如:entry\src\ohosTest\module.json5。

示例如下:

{
  "module": {
    "name": "entry",
    "type": "entry",
    "description": "$string:module_desc",
    "mainElement": "EntryAbility",
    "deviceTypes": [
      "default",
      "tablet"
    ],
    "deliveryWithInstall": true,
    "installationFree": false,
    "pages": "$profile:main_pages",
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ets",
        "description": "$string:EntryAbility_desc",
        "icon": "$media:icon",
        "label": "$string:EntryAbility_label",
        "startWindowIcon": "$media:icon",
        "startWindowBackground": "$color:start_window_background",
        "exported": true,
        "skills": [
          {
            "entities": [
              "entity.system.home"
            ],
            "actions": [
              "action.system.home"
            ]
          }
        ]
      }
    ]
  }
}

包管理配置文件oh-package.json5

对于各个模块,以及应用工程级都有一个包管理配置文件oh-package.json5,包含版本,描述,作者,开发依赖包,依赖包等信息。存在于模块根目录或工程根目录内,示例如下:

{
  "license": "",
  "devDependencies": {
    "@ohos/hypium": "1.0.6"
  },
  "author": "",
  "name": "aotdemo",
  "description": "Please describe the basic information.",
  "main": "",
  "version": "1.0.0",
  "dependencies": {}
}

构建配置文件build-profile.json5

类似包管理配置文件oh-package.json5,对于各个模块,以及应用工程级都有一个构建配置文件build-profile.json5,包含构建配置信息,如下示例:

{
  "apiType": "stageMode",
  "buildOption": {
    "arkOptions": {
      "aotCompileMode": "type"
//      "apPath": "./entry.ap"
    }
  },
  "targets": [
    {
      "name": "default",
      "runtimeOS": "OpenHarmony"
    },
    {
      "name": "ohosTest",
    }
  ]
}

如何掌握这些配置文件

对于上述配置文件,除了默认的配置项,还有很多更丰富的配置项,并未出现在上述示例配置中。怎么获取所有的可配置信息?在DevEco Studio提供了对所有配置文件的JSON Schema校验功能,验证开发提供的配置项,还提供智能提示功能。开发者也可以自己阅读各种配置文件的JSON Schema文件,仔细查询支持哪些配置项,来满足自己的需求。

在studio里,打开配置文件,点击配置文件中的配置项,会打开对应的JSON Schema文件,进而查询支持的更丰富的配置项。

下面是一些配置文件的对应关系:

JSON JSON Schema
AppScope/app.json5 OpenHarmonySDK\10\toolchains\modulecheck\app.json
entry\src\main\module.json5 OpenHarmonySDK\10\toolchains\modulecheck\module.json
entry\src\ohosTest\module.json5 OpenHarmonySDK\10\toolchains\modulecheck\module.json
entry\build-profile.json5 @ohos\hvigor-ohos-plugin\res\schemas\ohos-module-build-profile-schema.json
工程级build-profile.json5 @ohos\hvigor-ohos-plugin\res\schemas\ohos-project-build-profile-schema.json
entry\oh-package.json5 ohpm\resources\schemas\oh-package-json5-schema.json
工程级oh-package.json5 ohpm\resources\schemas\oh-package-json5-schema.json

注意:即使配置文件名一样,模块下的配置文件和工程级的配置文件的可配置项也是有差异的。需要仔细区分。

参考资料

应用配置文件概述

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2023-9-9 17:48:48修改
收藏
回复
举报
回复
    相关推荐