当前位置: 首页 > news >正文

HarmonyOS 小游戏《对战五子棋》开发第3篇-项目配置文件全解析

从build-profile到oh-package,读懂鸿蒙项目的每一行配置

配置文件全景图

五子棋/ ├── build-profile.json5 ← 项目级构建配置 ├── oh-package.json5 ← 项目级依赖管理 ├── hvigorfile.ts ← 构建脚本 ├── hvigor/hvigor-config.json5 ← Hvigor配置 ├── AppScope/app.json5 ← 应用清单 ├── entry/ │ ├── build-profile.json5 ← 模块级构建配置 │ ├── oh-package.json5 ← 模块级依赖管理 │ └── src/main/module.json5 ← 模块清单

build-profile.json5(项目级)

{ "app": { "signingConfigs": [], // 签名配置 "products": [ { "name": "default", "signingConfig": "default", "compatibleSdkVersion": "5.0.0(12)", // 兼容SDK版本 "runtimeOS": "HarmonyOS", // 运行时OS "targetSdkVersion": "6.1.1(24)" // 目标SDK版本 } ], "buildModeSet": [ { "name": "debug" }, // 调试模式 { "name": "release" } // 发布模式 ] }, "modules": [ { "name": "entry", "srcPath": "./entry", "targets": [ { "name": "default", "applyToProducts": ["default"] } ] } ] }

关键字段解读:

  • compatibleSdkVersion:应用最低支持的SDK版本,低于此版本的设备无法安装
  • targetSdkVersion:应用目标SDK版本,决定可用的API范围
  • products:可以定义多个产品(如免费版/付费版),每个产品可以有不同的签名和配置
  • buildModeSet:构建模式,debug用于开发调试,release用于发布

oh-package.json5(项目级)

{ "modelVersion": "6.1.1", "description": "Gomoku game for HarmonyOS", "dependencies": {}, "devDependencies": { "@ohos/hypium": "1.0.21" } }
  • modelVersion:包管理模型版本
  • dependencies:运行时依赖
  • devDependencies:开发时依赖(如测试框架)
  • @ohos/hypium:华为官方单元测试框架

entry/build-profile.json5(模块级)

{ "apiType": "stageMode", "buildOption": {}, "targets": [ { "name": "default", "runtimeOS": "HarmonyOS" } ] }

apiType有两个选项:

  • stageMode:Stage模型(推荐,本项目使用)
  • faMode:FA模型(旧版,不推荐)

entry/oh-package.json5(模块级)

{ "name": "entry", "version": "1.0.0", "description": "Gomoku entry module", "main": "", "author": "", "license": "Apache-2.0", "dependencies": {} }

hvigorfile.ts

// 项目级构建脚本exportdefault{system:require('@ohos/hvigor-ohos-plugin').hapTasks}

Hvigor是鸿蒙的构建工具,使用TypeScript编写构建脚本,比Gradle的Groovy更易调试。

配置文件之间的关系

app.json5 (应用身份) ↓ 定义了应用级别信息 module.json5 (模块能力) ↓ 定义了模块的Ability和页面 main_pages.json (页面路由) ↓ 注册了所有页面路径 build-profile.json5 (构建规则) ↓ 定义了如何编译 oh-package.json5 (依赖管理) ↓ 定义了项目依赖

实际开发中的常见配置场景

1. 修改应用名称

编辑AppScope/resources/base/element/string.json

{"name":"app_name","value":"五子棋"}

2. 添加新页面

main_pages.json中注册:

{ "src": ["pages/Index", "pages/NewPage"] }

3. 修改启动背景色

编辑entry/src/main/resources/base/element/color.json

{"name":"start_window_background","value":"#F5F5DC"}

4. 适配深色模式

创建dark/element/color.json覆盖特定颜色:

{"name":"start_window_background","value":"#333333"}

总结

鸿蒙项目的配置虽然文件多,但每个文件职责单一:

  • app.json5管应用身份
  • module.json5管模块能力
  • build-profile.json5管构建规则
  • oh-package.json5管依赖
  • 资源json管显示内容

理解这些配置文件的职责边界,是高效开发鸿蒙应用的基础。

附:

http://www.cnnetsun.cn/news/3175594.html

相关文章:

  • 101与金根回顾敏捷个人:(17)技术研究之道
  • Nginx进行配置文件拆分(以windows解压版为例)
  • 网上的若干算法都太复杂了,现提出包氏算法如下:
  • LangChain FewShotPromptTemplate少样本应用实战
  • 硬件版【Cursor】?aily blockly IDE尝鲜封神,实战硬伤尽显
  • 【Bug已解决】Claude Desktop 报错 Virtual Machine Platform not available 解决方案
  • 基于scRNA解析HNSCC肿瘤免疫微环境中Tfh、Th17细胞浸润的预后价值
  • 商用轨道插座怎么选更划算 各品牌性价比盘点帮你避坑少花冤枉钱
  • Windows Mobile下访问Sqlite的Native C++封装
  • Unity URP卡通渲染着色器:从原理到实践的完整指南
  • 3步掌握AMD Ryzen SDT调试工具:专业级CPU性能调优完整指南
  • NHibernate Issues之1904/1905:相同属性的Domain与Join查询/子查询
  • 智能办公本X2:端侧AI驱动的手写语音协同工作流
  • 大语言模型解码策略与低资源部署技术详解
  • NHibernate实例分享:Northwind Mapping
  • 2026年全铜卫浴五金洁具厂商口碑情况汇总
  • Vben精讲:06-Vben环境变量配置
  • MoeKoe Music终极指南:如何用开源免费客户端享受VIP音乐体验
  • Python自动化测试·Selenium操控元素的方法
  • 从Qwen-AgentWorld看大模型智能体如何操作真实系统:架构、挑战与工程实践
  • Cline 配置 Claude Sonnet 5 实战指南:思考深度调优与切换 Fable 5 的时机
  • 恶劣天气数据集 极端天气数据集 雨天道路数据集 雾天道路数据集 雪天马路恶劣环境图像目标检测数据集-道路障碍物识别数据集-数据集第10119期
  • 三千米浮空飞艇视频接入,广域立体视频孪生全域侦监技术解读 野外复杂地形动态重建 · 演训场景视频孪生目标三维重构完整体系
  • 毕业生必备7款AI写作辅助网站,一站式搞定选题初稿与降AI率
  • GHelper:华硕笔记本开源高效控制工具的专业替代方案
  • 成都茶台定制推荐
  • YOLOv10模型改进-Neck改进-第74篇:YOLOv10改进策略【Neck】| FPN-DCN可变形卷积
  • 连锁超市收银系统选什么?千店实测与商拓深度测评
  • 【湍流】基于matlab对涡粘性和雷诺应力模型FVM实现湍流通道流【含Matlab源码 15687期】含报告
  • 如何选择合适的面试机构?