赞
踩
官方文档(https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/start-with-ets-stage-0000001477980905-V2)
AppScope > app.json5:应用的全局配置信息。详见app.json5配置文件
{ "app": { /*包名*/ "bundleName": "com.example.demo", /*标识应用的Bundle类型,用于区分应用或者原子化服务。该标签可选值为app 和 atomicService。(-app:当前Bundle为普通应用。-atomicService:当前Bundle为元服务),该标签可以缺省,缺省为app*/ "bundleType": "app", /*应用开发厂商*/ "vendor": "example", /*版本号(该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新,数值越大表示版本越高。开发者可以将该值设置为任何正整数,但是必须确保应用的新版本都 使用比旧版本更大的值。该标签不可缺省,versionCode 值应小于2^31次方)*/ "versionCode": 10000, /*版本名称(该标签仅由数字和点构成,推荐采用 "A.B.C.D"四段式的形式。四段式推荐的含义如下: 第一段:主版本号/Major,范围0-99,重大修改的版本,如实现新的大功能或重大变化。 第二段:次版本号/Minor,范围0-99,表示实现较突出的特点,如新功能添加或重大问题修复)。 第三段:特性版本号/Feature,范围0-99,标识规划的新版本特性。 第四段:修订版本号/Patch,范围0-999,表示维护版本,修复bug 标签最大字节长度为127.*/ "versionName": "1.0.0", /*应用图标,该标签不可缺省*/ "icon": "$media:app_icon", /*应用的名称,该标签不可缺省*/ "label": "$string:app_name", /*标识应用是否可调试,该标签由IDE编译构建时生成(-true:可调试;-false:不可调试),该标签可以缺省,缺省为false*/ "debug": true, /*标识应用的描述信息,标签值是字符串类型(最大255个字节)或对描述内容的字符串资源索引。该标签可缺省,缺省值为空*/ "description": "", } }
entry:HarmonyOS工程模块,编译构建生成一个HAP包。
(1)src > main > ets:用于存放ArkTS源码。
(2)src > main > ets > entryability:应用/服务的入口。
(3)src > main > ets > pages:应用/服务包含的页面。
(4)src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源分类与访问。
(5)src > main > module.json5:Stage模型模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。具体的配置文件说明,详见module.json5配置文件。
{ "module": { /*标识当前Module的名称,标签值采用字符串表示(最大长度31个字节),该名称在整个应用中要唯一,仅支持英文字符。不可缺省*/ "name": "entry", /*标识当前Module的类型。类型有两种,分别: -entry:应用的主模块。 -feature:应用的动态特性模块。 不可缺省 */ "type": "entry", /*标识当前Module所对应的代码路径,标签值为字符串(最长127字节)。 该标签值可缺省,缺省值为空*/ "srcEntry": "", /*标识当前Module的描述信息,标签值是字符串类型(最长255字节)或对描述内容的字符串资源索引,可缺省,缺省值为空*/ "description": "$string:module_desc", /*标识当前Module的入口UIAbility名称或者ExtensionAbility名称。标签最大长度为255。字符串,可缺省,缺省值为空*/ "mainElement": "EntryAbility", /*标识当前Module可以运行在哪类设备上,标签值采用字符串数组的表示。字符串数组,不可缺省*/ "deviceTypes": [ "phone", "tablet" ], /*标识当前Module是否在用户主动安装的时候安装,表示该Module对应的HAP是否跟随应用一起安装。 -true:主动安装时安装。 -false:主动安装时不安装 布尔值,不可缺省 */ "deliveryWithInstall": true, /*标识当前Module是否支持免安装特性 -true:表示支持免安装特性,且符合免安装约束。 -false:表示不支持免安装特性 说明: - 当应用的entry类型Module的该字段配置为true时,该应用的feature类型的该字段也需要配置为true。 -当应用的entry类型Module的该字段配置为false时,该应用的feature类型的该字段根据业务需求配置true或false 布尔值,不可缺省 */ "installationFree": false, /*标识当前Module的profile资源,用于列举每个页面信息。该标签最大长度为255个字节。 字符串,在有UIAbility的场景下,该标签不可缺省*/ "pages": "$profile:main_pages", /*标识当前Module中UIAbility的配置信息,标签值为数组类型,只对当前UIAbility生效。 对象,可缺省,缺省值为空*/ "abilities": [ { /*标识当前UIAbility组件的名称,该名称在整个应用要唯一,标签值采用字符串表示(最大长度127字节),仅支持英文字符。字符串,不可缺省*/ "name": "EntryAbility", /*该标签标识入口UIAbility的代码路径,标签值为字符串(最长127字节)*/ "srcEntry": "./ets/entryability/EntryAbility.ts", /*标识当前UIAbility组件的启动模式,可选标签值: - multiton:多实例模式,每次启动创建一个新的实例。 -singleton:单实例模式,仅第一次启动创建新实例。 -specified:指定实例模式,运行时由开发者决定是否创建新实例。 字符串,可缺省,该标签缺省为 "singleton"。 */ "launchType": "singleton", /*标识当前UIAbility组件的描述信息,标签值是字符串类型(最长255字节)或对描述内容的资源索引。字符串,可缺省,缺省值为空*/ "description": "$string:EntryAbility_desc", /*标识当前UIAbility组件的图标,标签值为图标资源文件的索引。字符串,该标签可缺省,缺省值为空。如果UIAbility被配置为MainElement,该标签必须配置*/ "icon": "$media:app_icon", /*标识当前UIAbility组件*/ "label": "$string:EntryAbility_label", /*标识当前UIAbility组件启动页面图标资源文件的索引。取值示例:$media:icon。该标签最大字节长度为255。字符串,不可缺省*/ "startWindowIcon": "$media:icon", /*标识当前UIAbility组件启动页面背景颜色资源文件的索引。取值示例:$color:red。该标签最大字节长度为255。该标签最大字节长度 255。字符串,不可缺省。*/ "startWindowBackground": "$color:start_window_background", /*标识当前UIAbility组件是否可以被其他应用调用。 -true:表示可以被其他应用调用。 -false:表示不可以被其他应用调用。 布尔值,缺省值为false*/ "exported": true, /*标识当前UIAbility组件或ExtensionAbility组件能够接收的Want特征集,为数组格式。配置规则: - 对于Entry类型的HAP,应用可以配置多个具有入口能力的skills标签(即配置了ohos.want.action.home 和 entity.system.home)。 - 对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。 对象数组,可缺省,缺省值为空 */ "skills": [ { "entities": [ "entity.system.home" ], "actions": [ "action.system.home" ] } ] } ], /*标识当前应用运行时需向系统申请的权限集合。对象,该标签可缺省,缺省值为空*/ 'requestPermissions': [ { "name": "ohos.permission.INTERNET", "reason": "$string:dependency_reason", "usedScene": { "abilities": [ "EntryAbility" ], "when": "inuse" } } ] } }
(6)build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。其中targets中可配置当前运行环境,默认为HarmonyOS。
(7)hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。
oh_modules:用于存放三方库依赖信息。关于原npm工程适配ohpm操作,请参考历史工程迁移。
build-profile.json5:应用级配置信息,包括签名、产品配置等。
hvigorfile.ts:应用级编译构建任务脚本。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。