DevEco Studio里的json文件

本文介绍了DevEco Studio中json文件的结构和内容,重点关注app、deviceConfig和module三个部分。module部分详细讲解了package、name、reqCapabilities、deviceType、distro以及abilities等配置项的含义和作用,帮助开发者理解HAP包的配置信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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”模式

要更详细的了解可以去看官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值