鸿蒙开发入门:app对象内部结构

📅 2026/8/27 18:40:14
鸿蒙开发入门:app对象内部结构
app对象内部结构app对象包含应用全局配置信息内部结构如下表1app对象内部结构说明属性名称含义数据类型是否可缺省bundleName标识应用的Bundle名称用于标识应用的唯一性。Bundle名称是由字母、数字、下划线_和点号.组成的字符串必须以字母开头。支持的字符串长度为7~127字节。Bundle名称通常采用反向域名形式表示例如“com.example.myapplication”。建议第一级为域名后缀com第二级为厂商/个人名也可以采用多级。字符串不可缺省。vendor标识对应用开发厂商的描述。字符串长度不超过255字节。字符串可缺省缺省值为空。version标识应用的版本信息。对象不可缺省。apiVersion标识应用程序所依赖的HarmonyOS API版本。对象可缺省缺省值为空。smartWindowSize标识应用在模拟器中运行时使用的屏幕尺寸。字符串可缺省缺省值为空。smartWindowDeviceType标识应用在模拟器中运行时可以模拟的设备。字符串数组可缺省缺省值为空。version对象内部结构表2version对象内部结构说明属性名称含义数据类型是否可缺省name标识应用的版本号用于向应用的终端用户呈现。取值可以自定义长度不超过127字节。自定义规则如下API5及更早的版本推荐使用三段数字版本号也兼容两段式版本号如A.B.C(也兼容A.B)其中A、B、C取值为0-999范围内的整数。除此之外不支持其他格式。A段一般表示主版本号(Major)。B段一般表示次版本号(Minor)。C段一般表示修订版本号(Patch)。API6版本起推荐采用四段式数字版本号如A.B.C.D其中A、B、C取值为0-99范围内的整数D的取值为0-999范围内的整数。A段一般表示主版本号(Major)。B段一般表示次版本号(Minor)。C段一般表示特性版本号(Feature)。D段一般表示修订版本号(Patch)。数值不可缺省。code标识应用的版本号仅用于HarmonyOS管理该应用不对应用的终端用户呈现。取值规则如下API5及更早版本二进制32位以内的非负整数需要从version.name的值转换得到。转换规则为code值A * 1,000,000 B * 1,000 C例如version.name字段取值为2.2.1则code值为2002001。API6版本起code的取值不与version.name字段的取值关联开发者可自定义code取值取值范围为2^31以内的非负整数但是每次应用版本的更新均需要更新code字段的值新版本code取值必须大于旧版本code的值。数值不可缺省。minCompatibleVersionCode标识应用可兼容的最低版本号用于跨设备场景下判断其他设备上该应用的版本是否兼容。格式与version.code字段的格式要求相同。说明当前版本暂不支持跨设备能力。数值可缺省缺省值为code标签值。apiVersion内部结构表3apiVersion内部结构说明属性名称含义数据类型是否可缺省compatible运行应用所需要的最低API版本取值范围为0~2147483647。数值配置在build.profile中打包时由IDE填充到config.json中。target用于标识应用运行时使用的API版本取值范围为0~2147483647。数值配置在build.profile中打包时由IDE填充到config.json中。releaseType用于标识应用运行时SDK的状态。canary面向特定开发者早期预览版本不承诺质量不承诺API稳定。beta公开发布的Beta版本早期Beta版本不承诺API稳定经历若干次发布后通过Release Notes对开发者声明该Beta版本为API稳定里程碑后续版本的API冻结。release正式发布版本承诺质量API不可变更。当版本处于此状态时版本号中不呈现Stage字段。字符串配置在build.profile中打包时由IDE填充到config.json中。app对象示例app: { bundleName: com.example.myapplication, vendor: example, version: { code: 8, name: 8.0.1 }, apiVersion: { compatible: 8, target: 9, releaseType: Beta1 } }deviceConfig内部结构deviceConfig包含设备上的应用配置信息可以包含default、tv、car、wearable等属性。default标签内的配置适用于所有通用设备其他设备类型如果有特殊的需求则需要在该设备类型的标签下进行配置。deviceConfig对象内部结构表1deviceConfig对象内部结构说明属性名称含义数据类型是否可缺省default能够使用全部系统能力的HarmonyOS设备。对象可缺省缺省值为空。tablet标识平板特有的应用配置信息。对象可缺省缺省值为空。tv标识智慧屏特有的应用配置信息。对象可缺省缺省值为空。car标识车机特有的应用配置信息。对象可缺省缺省值为空。wearable标识智能穿戴特有的应用配置信息。对象可缺省缺省值为空。上表中各类设备对象的内部结构说明请见表2。deviceConfig设备对象内部结构表2deviceConfig设备对象内部结构说明属性名称含义数据类型是否可缺省process标识应用或者Ability的进程名。如果在deviceConfig标签下配置了process标签则该应用的所有Ability都运行在这个进程中。如果在abilities标签下也为某个Ability配置了process标签则该Ability就运行在这个进程中。该标签最大长度为31。字符串可缺省缺省值为空。keepAlive标识应用是否始终保持运行状态仅支持系统应用配置三方应用配置不生效。该标签为布尔类型可缺省缺省值为false如果配置为true应用将始终保持为运行状态并在系统启动的时候被系统驱动起来应用进程退出后系统也会重新启动应用进程。布尔值可缺省缺省值为false。supportBackup标识应用是否支持备份和恢复。如果配置为false则不支持为该应用执行备份或恢复操作。布尔值可缺省缺省值为false。compressNativeLibs标识libs库是否以压缩存储的方式打包到HAP。如果配置为false则libs库以不压缩的方式存储HAP在安装时无需解压libs运行时会直接从HAP内加载libs库。布尔值可缺省缺省值为true。network标识网络安全性配置。该标签允许应用通过配置文件的安全声明来自定义其网络安全无需修改应用代码。对象可缺省缺省值为空。network对象的内部结构表3network对象的内部结构说明属性名称含义数据类型是否可缺省cleartextTraffic标识是否允许应用使用明文网络流量例如明文HTTP。true允许应用使用明文流量的请求。false拒绝应用使用明文流量的请求。布尔值可缺省缺省值为false。securityConfig标识应用的网络安全配置信息。对象可缺省缺省为空。securityConfig对象的内部结构表4securityConfig对象的内部结构说明属性名称含义数据类型是否可缺省domainSettings标识自定义的网域范围的安全配置支持多层嵌套即一个domainSettings对象中允许嵌套更小网域范围的domainSettings对象。对象类型可缺省缺省为空。domainSettings对象内部结构表5domainSettings对象内部结构说明属性名称含义数据类型是否可缺省cleartextPermitted标识自定义的网域范围内是否允许明文流量传输。当cleartextTraffic和security同时存在时自定义网域是否允许明文流量传输以cleartextPermitted的取值为准。true允许明文流量传输。false拒绝明文流量传输。布尔类型可缺省缺省值为空。domains标识域名配置信息包含两个参数subdomains和name。subdomains(布尔类型)表示是否包含子域名。如果为true此网域规则将与相应网域及所有子网域包括子网域的子网域匹配。否则该规则仅适用于精确匹配项。name(字符串)表示域名名称。对象数组可缺省缺省值为空。deviceConfig示例deviceConfig: { default: { process: com.example.test.example, supportBackup: false, network: { cleartextTraffic: true, securityConfig: { domainSettings: { cleartextPermitted: true, domains: [ { subdomains: true, name: example.ohos.com } ] } } } }}最后这里整理了一份《鸿蒙零基础入门学习指南》希望能对那些想要学习鸿蒙但是有没有方向的人提供一点帮助。本文档适用于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零基础入门学习指南》