欢迎光临
我们一直在努力

鸿蒙OS配置文件全解析

鸿蒙OS 应用配置文件解析

鸿蒙OS(HarmonyOS)的应用配置文件是应用开发的核心组成部分,定义了应用的基本信息、权限、能力等。配置文件分为两种类型:config.json(适用于API 8及以下版本)和module.json(适用于API 9及以上版本)。以下内容以module.json为例展开说明。


配置文件结构解析

基本结构

{
"module": {
"name": "entry",
"type": "entry",
"description": "$string:module_desc",
"mainElement": "MainAbility",
"deviceTypes": ["default", "tablet"],
"deliveryWithInstall": true,
"installationFree": false,
"pages": "$profile:main_pages",
"abilities": [
{
"name": "MainAbility",
"type": "page",
"label": "$string:MainAbility_label",
"icon": "$media:icon",
"launchType": "standard"
}
]
}
}

  • name: 模块名称,需唯一。
  • type: 模块类型(entry表示主模块,feature表示功能模块)。
  • pages: 页面路由配置文件路径,使用$profile引用资源。
  • abilities: 应用的能力(如页面Ability、服务Ability等)。

关键配置示例

1. 定义Ability

Ability是鸿蒙应用的核心能力单元,支持页面(Page)、服务(Service)、数据(Data)等类型。

"abilities": [
{
"name": "MainAbility",
"type": "page",
"label": "Main",
"icon": "$media:app_icon",
"backgroundModes": ["dataTransfer"], // 后台模式
"permissions": [], // 所需权限
"uri": "scheme://host/path" // Data Ability的URI
}
]

2. 权限声明

应用需在配置文件中声明所需权限:

"requestPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "$string:permission_reason"
}
]

3. 多设备适配

通过deviceTypes指定支持的设备类型:

"deviceTypes": ["phone", "tablet", "tv", "wearable"]


资源引用规范

鸿蒙采用资源ID统一管理资源,格式为$type:name:

  • $string: 字符串资源(如$string:app_name)。
  • $media: 媒体资源(如图片$media:icon)。
  • $profile: 配置文件(如页面路由$profile:main_pages)。

示例:

"label": "$string:app_name",
"icon": "$media:app_icon"


页面路由配置

页面路由文件(如resources/base/profile/main_pages.json)定义Ability与页面的映射:

{
"src": [
"pages/index/index",
"pages/detail/detail"
]
}


常见场景代码示例

动态权限申请

在Ability中动态申请权限:

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(
['ohos.permission.INTERNET'],
(err, data) => {
if (err) {
console.error('Permission request failed');
} else {
console.info('Permission granted');
}
}
);

跨设备启动Ability

通过隐式Want启动其他设备的Ability:

let want = {
deviceId: "123456", // 目标设备ID
bundleName: "com.example.app",
abilityName: "MainAbility"
};
this.context.startAbility(want).catch(err => {
console.error(`Start ability failed: ${err}`);
});


配置文件的校验与调试

使用ohos-validator工具校验配置文件:

ohos-validator –path ./module.json

日志中可通过hilog输出配置加载状态:

import hilog from '@ohos.hilog';
hilog.info(0x0000, 'Config', 'Module config loaded successfully');


总结

鸿蒙OS的应用配置文件是应用行为的蓝图,合理配置可确保多设备兼容性和功能完整性。开发时需注意:

  • 资源引用使用$type:name格式。
  • 权限声明需与实际使用匹配。
  • 多设备适配通过deviceTypes实现。
赞(0)
未经允许不得转载:171主机测评 » 鸿蒙OS配置文件全解析
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址