HarmonyOS—设置编译构建信息

[复制链接]
发表于 2026-2-25 12:21:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在举行应用/服务的编译构建前,须要对工程和编译构建的Module举行设置。API Version 9、API Version 8与API Version 4~7的构建体系差别,因此在设置编译构建信息时也存在差别:

      
  • API Version 9:须要对构建设置文件、构建脚本、应用依赖的共享包等信息举行设置。  
  • build-profile.json5:应用/服务构建设置文件。  
  • hvigorfile.ts:自界说编译构建脚本。  
  • oh-package.json5:应用的三方包依赖,支持共享包的依赖。  
  • API Version 8:须要对构建设置文件、构建脚本、应用依赖的npm包等信息举行设置。  
  • build-profile.json5:HarmonyOS应用/服务构建设置文件。  
  • hvigorfile.ts:自界说编译构建脚本。  
  • package.json:应用的三方包依赖,支持HAR(依照npm尺度规范)和npm包的依赖。  
  • API Version 4~7:须要通过build.gradle来对工程编译构建参数举行设置。
build-profile.json5(API Version 8~9)

工程级build-profile.json5

工程级build-profile.json5的示比方下所示:
  1. {
  2.   "app": {
  3.     //工程的签名信息,可包含多个签名信息
  4.     "signingConfigs": [  
  5.       {
  6.         "name": "default",  //标识签名方案的名称
  7.         "type": "HarmonyOS",  //标识HarmonyOS应用
  8.         //该方案的签名材料
  9.         "material": {  
  10.           "certpath": "D:\\SigningConfig\\debug_hos.cer",  //调试或发布证书文件,格式为.cer
  11.           "storePassword": "******",  //密钥库密码,以密文形式呈现
  12.           "keyAlias": "debugKey",  //密钥别名信息
  13.           "keyPassword": "******",  //密钥密码,以密文形式呈现
  14.           "profile": "D:\\SigningConfig\\debug_hos.p7b",  //调试或发布证书Profile文件,格式为.p7b
  15.           "signAlg": "SHA256withECDSA",  //密钥库signAlg参数
  16.           "storeFile": "D:\\SigningConfig\\debug_hos.p12"  //密钥库文件,格式为.p12
  17.         }
  18.       }
  19.     ],
  20.     "compileSdkVersion": 9,  //指定HarmonyOS应用/服务编译时的SDK版本
  21.     "compatibleSdkVersion": 9,  //指定HarmonyOS应用/服务兼容的最低SDK版本
  22.     //定义构建的产品品类,如通用默认版、付费版、免费版等
  23.     "products": [  
  24.       {
  25.         "name": "default",  //定义产品的名称,支持定制多product目标产物,具体请参考定制多目标构建产物
  26.         "signingConfig": "default",  //指定当前产品品类对应的签名信息,签名信息需要在signingConfigs中进行定义
  27.       }
  28.     ]
  29.   },
  30.   "modules": [
  31.     {
  32.       "name": "entry",  //模块名称
  33.       "srcPath": "./entry",  //标明模块根目录相对工程根目录的相对路径
  34.       "targets": [  //定义构建的APP产物,由product和各模块定义的targets共同定义
  35.         {
  36.           "name": "default",  //target名称,由各个模块的build-profile.json5中的targets字段定义
  37.           "applyToProducts": [  
  38.             "default"   //表示将该模块下的“default” Target打包到“default” Product中
  39.           ]
  40.         }
  41.       ]
  42.     }
  43.   ]
  44. }
复制代码
模块级build-profile.json5

模块级build-profile.json5的示比方下所示:
  1. {
  2.   "apiType": 'faMode',  //API类型,支持FA和Stage模型
  3.   "showInServiceCenter": true,  //是否在服务中心展示
  4.   "
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表