鸿蒙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)