鸿蒙OS配置文件全解析
·
鸿蒙OS 配置文件的核心元素
鸿蒙OS(HarmonyOS)的配置文件是应用开发中至关重要的部分,主要用于定义应用的权限、能力、资源路径等信息。配置文件通常以config.json或module.json的形式存在,位于项目的resources目录下。
基本结构示例
{
"app": {
"bundleName": "com.example.myapp",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
}
},
"deviceConfig": {},
"module": {
"abilities": [],
"js": [],
"requestPermissions": []
}
}
应用级配置(app字段)
定义应用的基础信息,包括包名、版本等关键元数据。
"app": {
"bundleName": "com.example.iotapp",
"vendor": "huawei",
"version": {
"code": 100,
"name": "1.0.0"
},
"apiVersion": {
"compatible": 4,
"target": 5
}
}
bundleName:应用唯一标识,需遵循反向域名规则。version.code:内部版本号,用于升级判断。apiVersion:声明兼容的API版本范围。
设备配置(deviceConfig字段)
声明应用支持的设备类型和能力要求。
"deviceConfig": {
"default": {
"process": "com.example.process",
"directLaunch": false
},
"tv": {
"minAPIVersion": 4
},
"wearable": {
"minAPIVersion": 5
}
}
- 通过设备类型(如
tv、wearable)指定差异化配置。 directLaunch:控制是否允许直接启动。
模块配置(module字段)
核心部分,定义Ability、资源、权限等模块级配置。
Ability声明
"abilities": [
{
"name": ".MainAbility",
"icon": "$media:icon",
"label": "Main",
"type": "page",
"launchType": "standard",
"backgroundModes": ["dataTransfer"]
}
]
type:Ability类型(page表示UI界面,service为后台服务)。backgroundModes:声明后台运行能力(如数据传输、音频播放)。
JS组件配置
"js": [
{
"name": "default",
"pages": ["pages/index", "pages/detail"],
"window": {
"designWidth": 720,
"autoDesignWidth": false
}
}
]
pages:列出所有JS页面的路由路径。designWidth:设置UI设计基准宽度。
权限声明(requestPermissions字段)
声明应用需要的系统权限。
"requestPermissions": [
{
"name": "ohos.permission.INTERNET",
"reason": "Required for network access",
"usedScene": {
"ability": [".MainAbility"],
"when": "always"
}
}
]
usedScene:细化权限使用场景,增强安全性。reason:需提供权限用途说明(上架审核必备)。
资源引用示例
配置文件中通过$符号引用资源:
{
"abilities": [{
"icon": "$media:app_icon",
"label": "$string:main_ability_label"
}]
}
$media:app_icon:指向resources/base/media中的图片。$string:main_ability_label:引用resources/base/element/string.json中的字符串。
多模块配置
复杂项目可能包含多个HAP模块:
"module": {
"name": "entry",
"type": "entry",
"distro": {
"moduleType": "entry",
"deliveryWithInstall": true
}
}
moduleType:区分entry(主模块)和feature(功能模块)。deliveryWithInstall:控制是否随主包安装。
最佳实践建议
- 权限最小化原则:仅声明必要的权限。
- 设备兼容性:明确声明
deviceConfig避免安装冲突。 - 版本兼容:通过
apiVersion确保向后兼容。 - 资源管理:使用资源引用代替硬编码。
完整配置文件示例可参考鸿蒙官方文档中的Profile定义规范。
更多推荐




所有评论(0)