应用配置文件概述Stage模型每个应用项目必须在项目的代码目录下加入配置文件这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。在基于Stage模型开发的应用项目代码下都存在一个app.json5及一个或多个module.json5这两种配置文件。app.json5主要包含以下内容应用的全局配置信息包含应用的包名、开发厂商、版本号等基本信息。特定设备类型的配置信息。module.json5主要包含以下内容Module的基本配置信息例如Module名称、类型、描述、支持的设备类型等基本信息。应用组件信息包含UIAbility组件和ExtensionAbility组件的描述信息。应用运行过程中所需的权限信息。app.json5配置文件先通过一个示例整体认识一下app.json5配置文件。{ app: { bundleName: com.application.myapplication, vendor: example, versionCode: 1000000, versionName: 1.0.0, icon: $media:app_icon, label: $string:app_name, description: $string:description_application, minAPIVersion: 9, targetAPIVersion: 9, apiReleaseType: Release, debug: false, car: { minAPIVersion: 8, } },}app.json5配置文件包含以下标签。表1app.json5文件配置标签说明属性名称含义数据类型是否可缺省bundleName标识应用的Bundle名称用于标识应用的唯一性。该标签不可缺省。标签的值命名规则 - 字符串以字母、数字、下划线和符号“.”组成。- 以字母开头。- 最小长度7个字节最大长度127个字节。推荐采用反域名形式命名如com.example.demo建议第一级为域名后缀com第二级为厂商/个人名第三级为应用名也可以多级。字符串该标签不可缺省。bundleType标识应用的Bundle类型用于区分应用或者原子化服务。该标签可选值为app和atomicService - app当前Bundle为普通应用。- atomicService当前Bundle为元服务。字符串该标签可以缺省缺省为app。debug标识应用是否可调试该标签由IDE编译构建时生成。- true可调试。- false不可调试。布尔值该标签可以缺省缺省为false。icon标识应用的图标标签值为图标资源文件的索引。字符串该标签不可缺省。label标识应用的名称标签值为字符串资源的索引。字符串该标签不可缺省。description标识应用的描述信息标签值是字符串类型最大255个字节或对描述内容的字符串资源索引。字符串该标签可缺省缺省值为空。vendor标识对应用开发厂商的描述。该标签的值是字符串类型最大255个字节。字符串该标签可以缺省缺省为空。versionCode标识应用的版本号该标签值为32位非负整数。此数字仅用于确定某个版本是否比另一个版本更新数值越大表示版本越高。开发者可以将该值设置为任何正整数但是必须确保应用的新版本都使用比旧版本更大的值。该标签不可缺省versionCode值应小于2^31次方。数值该标签不可缺省。versionName标识应用版本号的文字描述用于向用户展示。该标签仅由数字和点构成推荐采用“A.B.C.D”四段式的形式。四段式推荐的含义如下所示。第一段主版本号/Major范围0-99重大修改的版本如实现新的大功能或重大变化。第二段次版本号/Minor范围0-99表示实现较突出的特点如新功能添加或大问题修复。第三段特性版本号/Feature范围0-99标识规划的新版本特性。第四段修订版本号/Patch范围0-999表示维护版本修复bug。标签最大字节长度为127。字符串该标签不可缺省。minCompatibleVersionCode标识应用能够兼容的最低历史版本号用于跨设备兼容性判断。说明当前版本暂不支持跨设备能力。数值该标签可缺省缺省值等于versionCode标签值。minAPIVersion标识应用运行需要的SDK的API最小版本。数值由build-profile.json5中的compatibleSdkVersion生成。targetAPIVersion标识应用运行需要的API目标版本。数值由build-profile.json5中的compileSdkVersion生成。apiReleaseType标识应用运行需要的API目标版本的类型采用字符串类型表示。取值为“CanaryN”、“BetaN”或者“Release”其中N代表大于零的整数。- Canary受限发布的版本。- Beta公开发布的Beta版本。- Release公开发布的正式版本。该字段由DevEco Studio读取当前使用的SDK的Stage来生成。字符串该标签可缺省由IDE生成并覆盖。multiProjects标识当前工程是否支持多个工程的联合开发。- true当前工程支持多个工程的联合开发。- false当前工程不支持多个工程的联合开发。多工程开发可以参考文档多工程构建。布尔值可缺省缺省值为false。tablet标识对tablet设备做的特殊配置可以配置的属性字段有上文提到的minAPIVersion、distributedNotificationEnabled。如果使用该属性对tablet设备做了特殊配置则应用在tablet设备中会采用此处配置的属性值并忽略在app.json5公共区域配置的属性值。对象该标签可缺省缺省时tablet设备使用app.json5公共区域配置的属性值。tv标识对tv设备做的特殊配置可以配置的属性字段有上文提到的minAPIVersion、distributedNotificationEnabled。如果使用该属性对tv设备做了特殊配置则应用在tv设备中会采用此处配置的属性值并忽略在app.json5公共区域配置的属性值。对象该标签可缺省缺省时tv设备使用app.json5公共区域配置的属性值。wearable标识对wearable设备做的特殊配置可以配置的属性字段有上文提到的minAPIVersion、distributedNotificationEnabled。如果使用该属性对wearable设备做了特殊配置则应用在wearable设备中会采用此处配置的属性值并忽略在app.json5公共区域配置的属性值。对象该标签可缺省缺省时wearable设备使用app.json5公共区域配置的属性值。car标识对car设备做的特殊配置可以配置的属性字段有上文提到的minAPIVersion、distributedNotificationEnabled。如果使用该属性对car设备做了特殊配置则应用在car设备中会采用此处配置的属性值并忽略在app.json5公共区域配置的属性值。对象该标签可缺省缺省时car设备使用app.json5公共区域配置的属性值。phone标识对phone设备做的特殊配置可以配置的属性字段有上文提到的minAPIVersion、distributedNotificationEnabled。如果使用该属性对phone设备做了特殊配置则应用在phone设备中会采用此处配置的属性值并忽略在app.json5公共区域配置的属性值。对象该标签可缺省缺省时phone设备使用app.json5公共区域配置的属性值。最后这里整理了一份《鸿蒙零基础入门学习指南》希望能对那些想要学习鸿蒙但是有没有方向的人提供一点帮助。本文档适用于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零基础入门学习指南》