DevEco Studio里的json文件
DevEco Studio里的json文件
首先贴出json文件里的代码:
{
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 3,
"target": 3
}
},
"deviceConfig": {},
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"reqCapabilities": [
"video_support"
],
"deviceType": [
"tv"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "landscape",
"formEnabled": false,
"name": "com.example.myapplication.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "MyApplication",
"type": "page",
"launchType": "standard"
}
]
}
}
其中主要分为三个部分的内容:
{
"app": {"bundleName": "com.example.myapplication"...},
"deviceConfig": {},
"module": {"name": ".MyApplication"...}
}
收缩之后可以看到这里面主要分为三个对象:
1、app是应用的主要配置信息,包括包名、厂商、版本号和API版本等信息,还是很容易看懂的,对于同一个应用,app中的配置应当一致;
2、deviceConfig表示应用在具体设备上的配置信息,现在来看为空,要想更详细的了解就去看看官方文档吧;
3、module表示HAP包的配置信息,也就是当前模块的配置信息。
详细介绍一下module里面的内容,主要分六个部分:
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"reqCapabilities": [...],
"deviceType": [...],
"distro": {"deliveryWithInstall": true...},
"abilities": [...]
}
- package
表示HAP包结构名称,这是唯一的,一般采用倒序域名格式(建议与HAP的工程目录保持一致),不可缺
- name
表示HAP的类名,一般采用开头为"."的命名方式,否则前缀需要与package的命名相同
- reqCapabilities
表示需要的技术支持,一般可以看到"video_support",表示视频支持
- deviceType
表示设备类型,系统提供的类型有:tv、car、wearable、liteWearable等,不可缺
- distro
表示HAP发布的描述:
- deliveryWithInstall 表示当前HAP是否支持随应用安装,true or false
- moduleName 当前HAP的名称
- moduleType当前HAP的类型,有两种类型:entry和feature
- abilities
里面有九个属性,分别为:
- skills 表示Ability能够接收的Intent的特征,里面有两项,均可缺省
- orientation显示模式。unspecified(默认):由系统自动判断显示方向。landscape:横屏模式。portrait:竖屏模式。followRecent:跟随栈中最近的应用
- formEnabled表示是否提供卡片能力。true or false(默认)
- name表示名称,由包名和类名组成,如"com.example.myapplication.MainAbility",不可缺
- icon使用的图标文件索引
- description描述性内容索引,可缺省
- label标签,对用户显示的名称,可缺省
- type表示类型,page:表示基于Page模板开发的FA,用于提供与用户交互的能力。service:表示基于Service模板开发的PA,用于提供后台运行任务的能力。data:表示基于Data模板开发的PA,用于对外部提供统一的数据访问抽象。不可缺。
- launchType启动模式,支持“standard”和“singleton”两种模式:standard(默认):表示该Ability可以有多实例。“standard”模式适用于大多数应用场景。singleton:表示该Ability只可以有一个实例。例如,具有全局唯一性的呼叫来电界面即采用“singleton”模式
要更详细的了解可以去看官方文档