如果说module.json5是告诉大家“这个模块是什么”,那build-profile.json5就是教大家“怎么把这个模块做出来”。它就像开源鸿蒙编译系统的“操作手册”,核心作用就是控制模块的构建过程、设置好构建参数,告诉DevEco Studio:该怎么把咱们写的代码、放的资源,打包成能直接运行的HAP包(也就是鸿蒙的应用安装包)。
  和module.json5一样,build-profile.json5也是每个模块(还有整个工程)都得有的配置文件,分为工程级和模块级两种:工程级管全局的构建配置,模块级只负责当前模块的构建配置。要是有相同的配置项,就以模块级的为准;不同的配置,模块级会继承工程级的。对新手来说,不用深钻工程级的复杂参数,重点搞定模块级的基础配置就够了,难度直接减半。

简化版的核心基础配置示例:

{
  "apiType": "stageMode", // 构建模式,Stage模型直接这么写就好,固定配置不用改
  "buildOption": { // 基础构建选项(简化版,新手重点看这俩)
    "compileSdkVersion": 14, // 编译用的SDK版本,开源鸿蒙开发常用这个版本
    "compatibleSdkVersion": 14 // 模块能兼容的最低SDK版本,和编译版本一致更稳妥
  },
  "targets": [ // 构建目标,能设置多个,生成不同版本的产物
    {
      "name": "default", // 默认构建目标,必须有,不能删
      "output": {
        "artifactName": "entry-module-1.0.0" // 生成的HAP包名称,可自定义
      }
    },
    {
      "name": "free", // 自定义构建目标,比如做个免费版
      "config": {
        "deviceType": ["phone"] // 这个版本只支持手机设备
      }
    }
  ]
}

  重点掌握3个核心功能:第一,指定构建模式(Stage模型固定写stageMode,不用动);第二,设置SDK版本(确保编译环境能匹配,不然容易报错);第三,配置构建目标(能生成多个不同版本的HAP包,比如免费版、付费版,按需设置)。

  build-profile.json5会自动读取当前模块的module.json5配置(比如设备类型、模块类型),再结合自己的构建参数,最后生成符合要求的HAP包。要是构建失败,大概率是这两个文件的配置对不上。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐