配置文件示例
以 JSON 文件为 config.json 的一个简单示例,该示例的应用声明为三个 Ability。 {
“app”: {
“bundleName”: “com.huawei.hiworld.himusic”,
#绑定名称bundleName
“vendor”: “huawei”,
#开发厂商:华为
“version”: {#版本
“code”: 2,
#编码版本
“name”: “2.0”
#命名版本
},
“apiVersion”: {
¥api接口版本
“compatible”: 3,
#兼容性版本3.0
“target”: 3,
#目标选择器 3.0
“releaseType”: “Beta1”
#公开类型 测试1版
}
},
“deviceConfig”: {
#获取设备基础信息
“default”: {#默认
}
},
“module”: {#模块
“mainAbility”: “MainAbility”,#表示HAP包的入口ability名称。该标签的值应配置 为module > abilities中存在的Page类型ability的名 称。该标签仅适用于手机、平板、智慧屏、车机、 智能穿戴。
“package”: “com.huawei.hiworld.himusic.entry”,
#表示HAP的包结构名称,在应用内应保证唯一性。 采用反向域名格式(建议与HAP的工程目录保持一 致)。
#entry:应用的主模块。
“name”: “.MainApplication”,
#模块命名
“supportedModes”: [(支持 模式)
#表示应用支持的运行模式
“drive”#车载
],
“distro”: {#发行版本
“moduleType”: “entry”,#模块类型
“deliveryWithInstall”: true, #跟随版本安装
“moduleName”: “hap-car” #模块名称
},
“deviceType”: [#表示允许Ability运行的设备类型
“car”
],
“abilities”: [
{
“name”: “.MainAbility”,
“description”: “himusic main ability”,
#表示HAP的描述信息。
“icon”: “$media:ic_launcher”,
#表示Ability图标资源文件的索引。 是指图标 媒体寻找 路径文件名称
“label”: “HiMusic”,
#表示Ability对用户显示的名称
“launchType”: “standard”,
#表示Ability的启动模式,支持standard和 singleton两种模式:standard:表示该Ability 可以有多实例。standard模式适用于大多数应 用场景。singleton:表示该Ability只可以有一 个实例。例如,具有全局唯一性的呼叫来电界 面即采用singleton模式。
“orientation”: “unspecified”,
#表示该Ability的显示模式。该标签仅适用于 page类型的Ability。取值范围如下: unspecified:由系统自动判断显示方向。 landscape:横屏模式。portrait:竖屏模式。 followRecent:跟随栈中最近的应用。
“visible”: true,
#表示Ability是否可以被其他应用调用。true:可 以被其他应用调用。false:不能被其他应用调 用。
“skills”: [
{
#表示Ability能够接收的Intent的特征。
“actions”: [
“action.system.home”
],#表示能够接收的Intent的action值,可以包含一个 或多个action。
“entities”: [
“entity.system.home”
##表示能够接收的Intent的Ability的类别(如视频、 桌面应用等),可以包含一个或多个entity。取值 通常为系统预定义的类别
]
}
],
“type”: “page”,
“formsEnabled”: false
#表示Ability是否支持卡片 (forms) 功能。该标 签仅适用于page类型的Ability。
true:支持卡 片能力。false:不支持卡片能力。
},
{
“name”: “.PlayService”,
#名称 播放服务
“description”: “himusic play ability”,
#描述
“icon”: “$media:ic_launcher”,
#图标索引
“label”: “HiMusic”,
#标签
“launchType”: “standard”,
#表示Ability的启动模式 standard:表示该Ability 可以有多实例。standard模式适用于大多数应 用场景。singleton:表示该Ability只可以有一 个实例。
“orientation”: “unspecified”,
#表示该Ability的显示模式。该标签仅适用于 page类型的Ability。取值范围如下: unspecified:由系统自动判断显示方向。 landscape:横屏模式。
“visible”: false,
#不可调用
“skills”: [
{
“actions”: [
“action.play.music”,
#播放
“action.stop.music”
#暂停
],
“entities”: [
“entity.audio”
#主模块音频
]
}
],
“type”: “service”,
标签服务
“backgroundModes”: [
#表示后台服务的类型,可以为一个服务配置多 个后台服务类型。该标签仅适用于service类型 的Ability。取值范围如下:dataTransfer:通过 网络/对端设备进行数据下载、备份、分享、传 输等业务。audioPlayback:音频输出业务。 audioRecording:音频输入业务。 pictureInPicture:画中画、小窗口播放视频业 务。voip:音视频电话、VOIP业务。location: 定位、导航业务。bluetoothInteraction:蓝牙 扫描、连接、传输业务。wifiInteraction: WLAN扫描、连接、传输业务。screenFetch: 录屏、截屏业务。
“audioPlayback”
#音频输出业务
]
},
{
“name”: “.UserADataAbility”,
“type”: “data”,#数据
“uri”: “dataability://com.huawei.hiworld.himusic.UserADataAbility”,
#UserADataAbility调用数据,对应主模块
“visible”: true#可调用
}