拓冰建站拓冰建站
首页 / 资讯中心 / 正文

鸿蒙开发入门:应用配置文件概述(二)

应用配置文件概述Stage模型每个应用项目必须在项目的代码目录下加入配置文件这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。在基于Stage模型开发的应用项目代码下都存在一个app.json5及一个或多个module.json5这两种配置文件。app.json5主要包含以下内容应用的全局配置信息包含应用的包名、开发厂商、版本号等基本信息。特定设备类型的配置信息。module.json5主要包含以下内容Module的基本配置信息例如Module名称、类型、描述、支持的设备类型等基本信息。应用组件信息包含UIAbility组件和ExtensionAbility组件的描述信息。应用运行过程中所需的权限信息。module.json5配置文件先通过一个示例整体认识一下module.json5配置文件。{ module: { name: entry, type: entry, description: $string:module_desc, mainElement: EntryAbility, deviceTypes: [ tv, tablet ], deliveryWithInstall: true, installationFree: false, pages: $profile:main_pages, virtualMachine: ark, metadata: [ { name: string, value: string, resource: $profile:distributionFilter_config } ], abilities: [ { name: EntryAbility, srcEntry: ./ets/entryability/EntryAbility.ts, description: $string:EntryAbility_desc, icon: $media:icon, label: $string:EntryAbility_label, startWindowIcon: $media:icon, startWindowBackground: $color:start_window_background, exported: true, skills: [ { entities: [ entity.system.home ], actions: [ ohos.want.action.home ] } ] } ], requestPermissions: [ { name: ohos.abilitydemo.permission.PROVIDER, reason: $string:reason, usedScene: { abilities: [ FormAbility ], when: inuse } } ] }}module.json5配置文件包含以下标签。属性名称含义数据类型是否可缺省name标识当前Module的名称标签值采用字符串表示最大长度31个字节该名称在整个应用要唯一仅支持英文字符。字符串该标签不可缺省。type标识当前Module的类型。类型有两种分别- entry应用的主模块。- feature应用的动态特性模块。字符串该标签不可缺省。srcEntry标识当前Module所对应的代码路径标签值为字符串最长为127字节。字符串该标签可缺省缺省值为空。description标识当前Module的描述信息标签值是字符串类型最长255字节或对描述内容的字符串资源索引。字符串该标签可缺省缺省值为空。process标识当前Module的进程名标签值为字符串类型最长为31个字节。如果在HAP标签下配置了process该应用的所有UIAbility、DataShareExtensionAbility、ServiceExtensionAbility都运行在该进程中。说明- 仅支持系统应用配置三方应用配置不生效。字符串可缺省缺省为app.json5文件下app标签下的bundleName。mainElement标识当前Module的入口UIAbility名称或者ExtensionAbility名称。标签最大字节长度为255。字符串该标签可缺省缺省值为空。deviceTypes标识当前Module可以运行在哪类设备上标签值采用字符串数组的表示。字符串数组该标签不可缺省。deliveryWithInstall标识当前Module是否在用户主动安装的时候安装表示该Module对应的HAP是否跟随应用一起安装。- true主动安装时安装。- false主动安装时不安装。布尔值该标签不可缺省。installationFree标识当前Module是否支持免安装特性。- true表示支持免安装特性且符合免安装约束。- false表示不支持免安装特性。说明- 当应用的entry类型Module的该字段配置为true时该应用的feature类型的该字段也需要配置为true。- 当应用的entry类型Module的该字段配置为false时该应用的feature类型的该字段根据业务需求配置true或false。布尔值该标签不可缺省。virtualMachine标识当前Module运行的目标虚拟机类型供云端分发使用如应用市场和分发中心。该标签值为字符串。如果目标虚拟机类型为ArkTS引擎则其值为“ark版本号”。字符串该标签由IDE构建HAP的时候自动插入。pages标识当前Module的profile资源用于列举每个页面信息。该标签最大长度为255个字节。字符串在有UIAbility的场景下该标签不可缺省。metadata标识当前Module的自定义元信息标签值为数组类型只对当前Module、UIAbility、ExtensionAbility生效。对象数组该标签可缺省缺省值为空。abilities标识当前Module中UIAbility的配置信息标签值为数组类型只对当前UIAbility生效。对象该标签可缺省缺省值为空。extensionAbilities标识当前Module中ExtensionAbility的配置信息标签值为数组类型只对当前ExtensionAbility生效。对象该标签可缺省缺省值为空。requestPermissions标识当前应用运行时需向系统申请的权限集合。对象该标签可缺省缺省值为空。testRunner标识当前Module用于支持对测试框架的配置。对象该标签可缺省缺省值为空。deviceTypes标签设备类型枚举值说明平板tablet-智慧屏tv-智能手表wearable系统能力较丰富的手表具备电话功能。车机car-手机phone-deviceTypes示例{ module: { name: myHapName, type: feature, deviceTypes : [ tablet ] }}pages标签该标签是一个profile文件资源用于指定描述页面信息的配置文件。{ module: { // ... pages: $profile:main_pages, // 通过profile下的资源文件配置 }}在开发视图的resources/base/profile下面定义配置文件main_pages.json其中文件名(main_pages)可自定义需要和前文中pages标签指定的信息对应配置文件中列举了当前应用组件中的页面信息。属性名称含义数据类型是否可缺省src描述有关JavaScript模块中所有页面的路由信息包括页面路径和页面名称。该值是一个字符串数组其中每个元素表示一个页面。字符串数组该标签不可缺省。window用于定义与显示窗口相关的配置。对象该标签可缺省缺省值为空。属性名称含义数据类型是否可缺省designWidth标识页面设计基准宽度。以此为基准根据实际设备宽度来缩放元素大小。数值可缺省缺省值为720px。autoDesignWidth标识页面设计基准宽度是否自动计算。当配置为true时designWidth将会被忽略设计基准宽度由设备宽度与屏幕密度计算得出。布尔值可缺省缺省值为false。{ src: [ pages/index/mainPage, pages/second/payment, pages/third/shopping_cart, pages/four/owner ]}metadata标签该标签标识HAP的自定义元信息标签值为数组类型包含namevalueresource三个子标签。属性名称含义数据类型是否可缺省name该标签标识数据项的键名称字符串类型最大长度255字节。字符串该标签可缺省缺省值为空。value该标签标识数据项的值标签值为字符串最大长度255字节。字符串该标签可缺省缺省值为空。resource该标签标识定义用户自定义数据格式标签值为标识该数据的资源的索引值。该标签最大字节长度为255字节。字符串该标签可缺省缺省值为空。{ module: { metadata: [{ name: module_metadata, value: a test demo for module metadata, resource: $profile:shortcuts_config, }], abilities: [{ metadata: [{ name: ability_metadata, value: a test demo for ability, resource: $profile:config_file }, { name: ability_metadata_2, value: a string test, resource: $profile:config_file }], }], extensionAbilities: [{ metadata: [{ name: extensionAbility_metadata, value: a test for extensionAbility, resource: $profile:config_file }, { name: extensionAbility_metadata_2, value: a string test, resource: $profile:config_file }], }] }}abilities标签abilities标签描述UIAbility组件的配置信息标签值为数组类型该标签下的配置只对当前UIAbility生效。属性名称含义数据类型是否可缺省name标识当前UIAbility组件的名称该名称在整个应用要唯一标签值采用字符串表示最大长度127个字节仅支持英文字符。字符串该标签不可缺省。srcEntry该标签标识入口UIAbility的代码路径标签值为字符串最长为127字节。字符串该标签不可缺省。launchType标识当前UIAbility组件的启动模式可选标签值- multiton多实例模式每次启动创建一个新的实例。- singleton单实例模式仅第一次启动创建新实例。- specified指定实例模式运行时由开发者决定是否创建新实例。字符串可缺省该标签缺省为“singleton”。description标识当前UIAbility组件的描述信息标签值是字符串类型最长255字节或对描述内容的资源索引要求采用资源索引方式以支持多语言。字符串该标签可缺省缺省值为空。icon标识当前UIAbility组件的图标标签值为图标资源文件的索引。字符串该标签可缺省缺省值为空。如果UIAbility被配置为MainElement该标签必须配置。label标识当前UIAbility组件对用户显示的名称标签值配置为该名称的资源索引以支持多语言。如果UIAbility被配置当前Module的mainElement时该标签必须配置且应用内唯一。字符串该标签不可缺省。permissions标识当前UIAbility组件自定义的权限信息。当其他应用访问该UIAbility时需要申请相应的权限信息。一个数组元素为一个权限名称。通常采用反向域名格式最大255字节取值为系统预定义的权限。字符串数组该标签可缺省缺省值为空。metadata标识当前UIAbility组件的元信息。对象数组该标签可缺省缺省值为空。exported标识当前UIAbility组件是否可以被其他应用调用。- true表示可以被其他应用调用。- false表示不可以被其他应用调用。布尔值该标签可缺省缺省值为false。continuable标识当前UIAbility组件是否可以迁移。- true表示可以被迁移。- false表示不可以被迁移。说明当前版本暂不支持跨设备能力。布尔值该标签可缺省缺省值为false。skills标识当前UIAbility组件或ExtensionAbility组件能够接收的Want的特征集为数组格式。配置规则- 对于Entry类型的HAPHarmonyOS应用可以配置多个具有入口能力的skills标签即配置了ohos.want.action.home和entity.system.home。- 对于Feature类型的HAP只有HarmonyOS应用可以配置具有入口能力的skills标签HarmonyOS服务不允许配置。对象数组该标签可缺省缺省值为空。backgroundModes标识当前UIAbility组件的长时任务集合。指定用于满足特定类型的长时任务。长时任务类型有如下- dataTransfer通过网络/对端设备进行数据下载、备份、分享、传输等业务。- audioPlayback音频输出业务。- audioRecording音频输入业务。- location定位、导航业务。- bluetoothInteraction蓝牙扫描、连接、传输业务穿戴。- multiDeviceConnection多设备互联业务。- wifiInteractionWi-Fi扫描、连接、传输业务克隆多屏。- voip音视频电话VoIP业务。- taskKeeping计算业务。字符串数组该标签可缺省缺省值为空。startWindowIcon标识当前UIAbility组件启动页面图标资源文件的索引。取值示例$media:icon。该标签最大字节长度为255。字符串不可缺省。startWindowBackground标识当前UIAbility组件启动页面背景颜色资源文件的索引。取值示例$color:red。该标签最大字节长度为255。字符串不可缺省。removeMissionAfterTerminate标识当前UIAbility组件销毁后是否从任务列表中移除任务为布尔类型- true表示销毁后移除任务。- false表示销毁后不移除任务。布尔值该标签可缺省缺省值为false。orientation标识当前UIAbility组件启动时的方向。该方向的取值范围包括- unspecified未指定方向由系统自动判断显示方向。- landscape横屏。- portrait竖屏。- landscape_inverted反向横屏。- portrait_inverted反向竖屏。- auto_rotation随传感器旋转。- auto_rotation_landscape传感器横屏旋转包括了横屏和反向横屏。- auto_rotation_portrait传感器竖屏旋转包括了竖屏和反向竖屏。- auto_rotation_restricted传感器开关打开方向可随传感器旋转。- auto_rotation_landscape_restricted传感器开关打开方向可随传感器旋转为横屏 包括了横屏和反向横屏。- auto_rotation_portrait_restricted传感器开关打开方向随可传感器旋转为竖屏 包括了横屏和反向横屏。- locked传感器开关关闭方向锁定。字符串该标签可缺省缺省值为unspecified。supportWindowMode标识当前UIAbility组件所支持的窗口模式包含- fullscreen全屏模式。- split分屏模式。- floating悬浮窗模式。字符串数组该标签可缺省缺省值为[“fullscreen”, “split”, “floating”]。priority标识当前UIAbility组件的优先级仅支持系统应用配置三方应用配置不生效。隐式查询时优先级越高UIAbility在返回列表越靠前。该标签取值为integer类型取值范围0-10。数值越大优先级越高。数值该标签可缺省缺省值为0。maxWindowRatio标识当前UIAbility组件支持的最大的宽高比。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最大的宽高比。minWindowRatio标识当前UIAbility组件支持的最小的宽高比。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最小的宽高比。maxWindowWidth标识当前UIAbility组件支持的最大的窗口宽度宽度单位为vp。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最大的窗口宽度。minWindowWidth标识当前UIAbility组件支持的最小的窗口宽度, 宽度单位为vp。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最小的窗口宽度。maxWindowHeight标识当前UIAbility组件支持的最大的窗口高度, 高度单位为vp。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最大的窗口高度。minWindowHeight标识当前UIAbility组件支持的最小的窗口高度, 高度单位为vp。该标签最小取值为0。数值该标签可缺省缺省值为平台支持的最小的窗口高度。excludeFromMissions标识当前UIAbility组件是否在最近任务列表中显示。- true表示不在任务列表中显示。- false表示在任务列表中显示。说明- 仅支持系统应用配置三方应用配置不生效。布尔值该标签可缺省缺省值为false。abilities示例{ abilities: [{ name: EntryAbility, srcEntry: ./ets/entryability/EntryAbility.ts, launchType:singleton, description: $string:description_main_ability, icon: $media:icon, label: Login, permissions: [], metadata: [], exported: true, continuable: true, skills: [{ actions: [ohos.want.action.home], entities: [entity.system.home], uris: [] }], backgroundModes: [ dataTransfer, audioPlayback, audioRecording, location, bluetoothInteraction, multiDeviceConnection, wifiInteraction, voip, taskKeeping ], startWindowIcon: $media:icon, startWindowBackground: $color:red, removeMissionAfterTerminate: true, orientation: , supportWindowMode: [fullscreen, split, floating], maxWindowRatio: 3.5, minWindowRatio: 0.5, maxWindowWidth: 2560, minWindowWidth: 1400, maxWindowHeight: 300, minWindowHeight: 200, excludeFromMissions: false }]}skills标签该标签标识UIAbility组件或者ExtensionAbility组件能够接收的Want的特征。属性名称含义数据类型是否可缺省actions标识能够接收的Want的Action值的集合取值通常为系统预定义的action值也允许自定义。字符串数组可缺省缺省值为空。entities标识能够接收Want的Entity值的集合。字符串数组可缺省缺省值为空。uris标识与Want中URIUniform Resource Identifier相匹配的集合。对象数组可缺省缺省值为空。属性名称含义数据类型是否可缺省scheme标识URI的协议名部分常见的有http、https、file、ftp等。字符串uris中仅配置type时可以缺省缺省值为空否则不可缺省。host标识URI的主机地址部分该字段要在schema存在时才有意义。常见的方式- 域名方式如example.com。- IP地址方式如10.10.10.1。字符串可缺省缺省值为空。port标识URI的端口部分。如http默认端口为80https默认端口是443ftp默认端口是21。该字段要在schema和host都存在时才有意义。字符串可缺省缺省值为空。path | pathStartWith | pathRegex标识URI的路径部分path、pathStartWith和pathRegex配置时三选一。path标识URI与want中的路径部分全匹配pathStartWith标识URI与want中的路径部分允许前缀匹配pathRegex标识URI与want中的路径部分允许正则匹配。该字段要在schema和host都存在时才有意义。字符串可缺省缺省值为空。type标识与Want相匹配的数据类型使用MIMEMultipurpose Internet Mail Extensions类型规范。可与schema同时配置也可以单独配置。字符串可缺省缺省值为空。skills示例{ abilities: [ { skills: [ { actions: [ ohos.want.action.home ], entities: [ entity.system.home ], uris: [ { scheme:http, host:example.com, port:80, path:path, type: text/* } ] } ] } ]}extensionAbilities标签描述extensionAbilities的配置信息标签值为数组类型该标签下的配置只对当前extensionAbilities生效。属性名称含义数据类型是否可缺省name标识当前ExtensionAbility组件的名称标签值最大长度为127个字节该名称在整个应用要唯一。字符串该标签不可缺省。srcEntry标识当前ExtensionAbility组件所对应的代码路径标签值最大长度为127字节。字符串该标签不可缺省。description标识当前ExtensionAbility组件的描述标签值最大长度为255字节标签也可以是描述内容的资源索引用于支持多语言。字符串该标签可缺省缺省值为空。icon标识当前ExtensionAbility组件的图标标签值为资源文件的索引。如果ExtensionAbility组件被配置为MainElement该标签必须配置。字符串该标签可缺省缺省值为空。label标识当前ExtensionAbility组件对用户显示的名称标签值配置为该名称的资源索引以支持多语言。说明- 如果ExtensionAbility被配置当前Module的mainElement时该标签必须配置且应用内唯一。字符串该标签不可缺省。type标识当前ExtensionAbility组件的类型取值为- form卡片的ExtensionAbility。- workScheduler延时任务的ExtensionAbility。- inputMethod输入法的ExtensionAbility。- service后台运行的service组件。- accessibility辅助能力的ExtensionAbility。- dataShare数据共享的ExtensionAbility。- fileShare文件共享的ExtensionAbility。- staticSubscriber静态广播的ExtensionAbility。- wallpaper壁纸的ExtensionAbility。- backup数据备份的ExtensionAbility。- window该ExtensionAbility会在启动过程中创建一个window为开发者提供界面开发。开发者开发出来的界面将通过abilityComponent控件组合到其他应用的窗口中。- thumbnail获取文件缩略图的ExtensionAbility开发者可以对自定义文件类型的文件提供缩略。- preview该ExtensionAbility会将文件解析后在一个窗口中显示开发者可以通过将此窗口组合到其他应用窗口中。说明- 其中service和dataShare类型仅支持系统应用配置三方应用配置不生效。字符串该标签不可缺省。permissions标识当前ExtensionAbility组件自定义的权限信息。当其他应用访问该ExtensionAbility时需要申请相应的权限信息。一个数组元素为一个权限名称。通常采用反向域名格式最大255字节可以是系统预定义的权限也可以是该应用自定义的权限。如果是后者需与defPermissions标签中定义的某个权限的name标签值一致。字符串数组该标签可缺省缺省值为空。uri标识当前ExtensionAbility组件提供的数据URI为字符数组类型最大长度255用反向域名的格式表示。说明- 该标签在type为dataShare类型的ExtensionAbility时不可缺省。字符串该标签可缺省缺省值为空。skills标识当前ExtensionAbility组件能够接收的Want的特征集为数组格式。配置规则entry包可以配置多个具有入口能力的skills标签配置了ohos.want.action.home和entity.system.home的ExtensionAbility其中第一个配置了skills标签的ExtensionAbility中的label和icon作为HarmonyOS服务或应用的label和icon。说明- HarmonyOS服务的Feature包不能配置具有入口能力的skills标签。- HarmonyOS应用的Feature包可以配置具有入口能力的skills标签。数组该标签可缺省缺省值为空。metadata标识当前ExtensionAbility组件的元信息。对象该标签可缺省缺省值为空。exported标识当前ExtensionAbility组件是否可以被其他应用调用为布尔类型。- true表示可以被其他应用调用。- false表示不可以被其他应用调用。布尔值该标签可缺省缺省值为false。extensionAbilities示例{ extensionAbilities: [ { name: FormName, srcEntry: ./form/MyForm.ts, icon: $media:icon, label : $string:extension_name, description: $string:form_description, type: form, permissions: [ohos.abilitydemo.permission.PROVIDER], readPermission: , writePermission: , exported: true, uri:scheme://authority/path/query, skills: [{ actions: [], entities: [], uris: [] }], metadata: [ { name: ohos.extension.form, resource: $profile:form_config, } ] } ]}requestPermissions标签该标签标识应用运行时需向系统申请的权限集合。说明在requestPermissions标签中配置的权限项将在应用级别生效即该权限适用于整个应用程序。如果应用需要订阅自己发布的事件而且应用在extensionAbilities标签中的permissions字段中设置了访问该应用所需要的权限那么应用也需要在requestPermissions标签中注册相关权限才能收到该事件。属性含义类型取值范围默认值name必须填写需要使用的权限名称。字符串自定义。无。reason可选当申请的权限为user_grant权限时此字段必填用于描述申请权限的原因。说明- 当申请的权限为user_grant权限时如果未填写该字段则不允许在应用市场上架并且需要进行多语种适配。字符串使用string类资源引用。格式为$string: ***。空。usedScene可选当申请的权限为user_grant权限时此字段必填。描述权限使用的场景由abilities和when组成。其中abilities可以配置为多个UIAbility组件when表示调用时机。说明- 默认为可选当申请的权限为user_grant权限时abilities标签必填when标签可选。abilitiesUIAbility或者ExtensionAbility名称的字符串数组when字符串abilitiesUIAbility或者ExtensionAbility组件的名称。wheninuse使用时、always始终。abilities空。when空。requestPermissions示例{ module : { requestPermissions: [ { name: ohos.abilitydemo.permission.PROVIDER, reason: $string:reason, usedScene: { abilities: [ EntryFormAbility ], when: inuse } } ] }}shortcuts标签shortcuts标识应用的快捷方式信息。标签值为数组最多可以配置四个快捷方式。其包含四个子标签shortcutId、label、icon、wants。metadata中指定shortcut信息其中name指定shortcuts的名称。使用ohos.ability.shortcuts作为shortcuts信息的标识。resource指定shortcuts信息的资源位置。属性含义类型默认值shortcutId标识快捷方式的ID。字符串的最大长度为63字节。字符串该标签不可缺省。label标识快捷方式的标签信息即快捷方式对外显示的文字描述信息。取值可以是描述性内容也可以是标识label的资源索引。字符串最大长度为255字节。字符串该标签可缺省缺省值为空。icon标识快捷方式的图标标签值为资源文件的索引。字符串该标签可缺省缺省值为空。wants标识快捷方式内定义的目标wants信息集合每个wants可配置bundleName和abilityName两个子标签。bundleName表示快捷方式的目标Bundle名称字符串类型。abilityName表示快捷方式的目标组件名字符串类型。对象该标签可缺省缺省为空。在/resource/base/profile/目录下配置shortcuts_config.json配置文件。{ shortcuts: [ { shortcutId: id_test1, label: $string:shortcut, icon: $media:aa_icon, wants: [ { bundleName: com.ohos.hello, abilityName: EntryAbility } ] } ]}在module.json5配置文件的abilities标签中针对需要添加快捷方式的UIAbility进行配置metadata标签使shortcut配置文件对该UIAbility生效。{ module: { // ... abilities: [ { name: EntryAbility, srcEntry: ./ets/entryability/EntryAbility.ts, // ... skills: [ { entities: [ entity.system.home ], actions: [ ohos.want.action.home ] } ], metadata: [ { name: ohos.ability.shortcuts, resource: $profile:shortcuts_config } ] } ] }}distroFilter标签该标签下的子标签均为可选字段在应用市场云端分发时使用distroFilter标签用于定义HAP对应的细分设备规格的分发策略以便在应用市场进行云端分发应用包时做精准匹配。该标签可配置的分发策略维度包括API Version、屏幕形状、屏幕尺寸、屏幕分辨率设备的国家与地区码。在进行分发时通过deviceType与这五个属性的匹配关系唯一确定一个用于分发到设备的HAP。该标签需要配置在/resource/profile资源目录下并在模块的metadata的resource字段中引用。属性名称含义数据类型是否可缺省apiVersion标识支持的apiVersion范围。对象数组该标签可缺省缺省值为空。screenShape标识屏幕形状的支持策略。对象数组该标签可缺省缺省值为空。screenWindow标识应用运行时窗口的分辨率支持策略。该字段仅支持对轻量级智能穿戴设备进行配置。对象数组该标签可缺省缺省值为空。screenDensity标识屏幕的像素密度dpiDot Per Inch。对象数组该标签可缺省缺省值为空。countryCode表示应用需要分发的国家地区码具体值以ISO-3166-1标准为准。支持多个国家和地区枚举定义。对象数组该标签可缺省缺省值为空。属性名称含义数据类型是否可缺省policy标识该子属性取值规则。配置为“exclude”或“include”。- exclude表示需要排除的value属性。- include表示需要包含的value属性。字符串该标签不可缺省。value支持的取值为circle圆形、rect矩形。场景示例针对智能穿戴设备可为圆形表盘和矩形表盘分别提供不同的HAP。字符串数组该标签不可缺省。属性名称含义数据类型是否可缺省policy标识该子属性取值规则。配置为“exclude”或“include”。- exclude表示该字段取值不包含value枚举值匹配规则的匹配该属性。- include表示该字段取值满足value枚举值匹配规则的匹配该属性。字符串该标签不可缺省。value单个字符串的取值格式为“宽 * 高”取值为整数像素值例如“454 * 454”。字符串数组该标签不可缺省。属性名称含义数据类型是否可缺省policy标识该子属性取值规则。配置为“exclude”或“include”。- exclude表示需要排除的value属性。- include表示需要包含的value属性。字符串该标签不可缺省。value该标签标识屏幕的像素密度dpi :Dot Per Inch。该标签为字符串数组字符串范围如下。- sdpi表示小规模的屏幕密度Small-scale Dots per Inch适用于dpi取值为(0,120]的设备。- mdpi表示中规模的屏幕密度Medium-scale Dots Per Inch适用于dpi取值为(120,160]的设备。- ldpi表示大规模的屏幕密度Large-scale Dots Per Inch适用于dpi取值为(160,240]的设备。- xldpi表示大规模的屏幕密度Extra Large-scale Dots Per Inch适用于dpi取值为(240,320]的设备。- xxldpi表示大规模的屏幕密度Extra Extra Large-scale Dots Per Inch适用于dpi取值为(320480]的设备。- xxxldpi表示大规模的屏幕密度Extra Extra Extra Large-scale Dots Per Inch适用于dpi取值为(480, 640]的设备。字符串数组该标签不可缺省。属性名称含义数据类型是否可缺省policy标识该子属性取值规则。配置为“exclude”或“include”。- exclude表示需要排除的value属性。- include表示需要包含的value属性。字符串该标签不可缺省。value标识应用需要分发的国家地区码。字符串数组该标签不可缺省。在开发视图的resources/base/profile下面定义配置文件distro_filter_config.json文件名可以自定义。{ distroFilter: { screenShape: { policy: include, value: [ circle, rect ] }, screenWindow: { policy: include, value: [ 454*454, 466*466 ] }, screenDensity: { policy: exclude, value: [ ldpi, xldpi ] }, countryCode: { // 支持中国和香港地区分发 policy: include, value: [ CN, HK ] } }}在module.json5配置文件的module标签中定义metadata信息。{ module: { // ... metadata: [ { name: ohos.module.distro, resource: $profile:distro_filter_config, } ] }}testRunner标签此标签用于支持对测试框架的配置。属性名称含义数据类型是否可缺省name标识测试框架对象名称。该标签最大字节长度为255个字节。字符串不可缺省。srcPath标识测试框架代码路径。该标签最大字节长度为255个字节。字符串不可缺省。testRunner标签示例{ module: { // ... testRunner: { name: myTestRunnerName, srcPath: etc/test/TestRunner.ts } }}最后这里整理了一份《鸿蒙零基础入门学习指南》希望能对那些想要学习鸿蒙但是有没有方向的人提供一点帮助。本文档适用于HarmonyOS应用开发的初学者由于文档内容过多因此为了避免影响到大家的阅读体验在此只以截图展示部分内容详细完整版的看文末有免费的获取方式## 《鸿蒙零基础入门学习指南》目录一、快速入门适用于HarmonyOS应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用快速了解工程目录的主要文件熟悉HarmonyOS应用开发流程。开发准备基本概念工具准备构建第一个ArkTS应用Stage模型构建第一个ArkTS应用FA模型构建第一个JS应用FA模型二、开发基础知识应用程序包基础知识应用程序包概述应用程序包结构应用程序包多HAP机制应用程序包安装和卸载流程应用程序包更新流程共享包应用程序包快速修复应用配置文件Stage模型应用配置文件概述Stage模型app.json5配置文件module.json5配置文件应用配置文件概述FA模型应用配置文件概述FA模型app对象内部结构deviceConfig内部结构module对象内部结构三、资源分类与访问应用开发过程中经常需要用到颜色、字体、间距、图片等资源在不同的设备或配置中这些资源的值可能不同。资源分类与访问资源分类资源目录资源组目录创建资源目录和资源文件创建资源目录和资源文件创建资源目录创建资源文件资源访问应用资源系统资源资源匹配四、学习ArkTs语言ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript简称TS生态基础上做了进一步扩展继承了TS的所有特性是TS的超集。因此在学习ArkTS语言之前建议开发者具备TS语言开发能力。初识ArkTS语言基本语法基本语法概述声明式UI描述自定义组件状态管理其他状态管理其他状态管理概述Watch装饰器状态变量更改通知$$语法内置组件双向同步渲染控制渲染控制概述if/else条件渲染ForEach循环渲染LazyForEach数据懒加载扫描下方二维码免费领取《鸿蒙5.0零基础入门学习指南》
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门