【HarmonyOS NEXT】har 包的构建生成过程

Har模块文件结构

构建HAR

打包规则

  • 开源HAR除了默认不需要打包的文件(build、node_modules、oh_modules、.cxx、.previewer、.hvigor、.gitignore、.ohpmignore)和.gitignore/.ohpmignore中配置的文件,cpp工程的CMakeLists.txt,buildProfile.json5文件中配置的混淆相关文件,其余文件都会被打进HAR包中。
  • 闭源HAR只会将特定的文件(资源文件、配置文件、编译过程中使用的ets文件、readme和changelog等声明文件、license等证书文件)打包HAR包中。

构建开源HAR

1. 修改新建HAR模块时生成的build-profile.json5默认模板,将obfuscation下的enable字段改为false或删除整个obfuscation配置参数。

{
  "apiType": "stageMode",
  "buildOption": {
  },
  "buildOptionSet": [
    {
      "name": "release",
      "arkOptions": {
        // 开源har相关参数
        "obfuscation": {
          "ruleOptions": {
            // true表示进行混淆,false表示不进行混淆。默认为true
            "enable": false,
            ]
          },
          // consumerFiles中指定的混淆配置文件会在构建依赖这个library的工程或library时被应用
          "consumerFiles": [
            "./consumer-rules.txt"
          ]
        }
      },
    },
  
<think>嗯,用户想知道如何在HarmonyOS Next中修改编译生成HAR文件名。我需要先回忆一下相关的文档内容。根据引用[2],HAR的打规则分为开源和闭源两种,但用户的问题是关于文件名的修改,可能涉及到构建配置。 首先,查看引用[2]提到的构建开源HAR和闭源HAR的不同打规则,但这里没有直接提到如何修改输出文件名。通常,这类配置可能在构建脚本或配置文件中设置。比如,在HarmonyOS中,可能有类似于build-profile.json5的文件,用于配置构建参数。 然后,参考引用[3]中提到的发布流程,涉及到生成证书和Profile文件,但可能和文件名无关。引用[4]中的CMakeLists.txt链接库文件,可能涉及到编译设置,但不确定是否影响HAR名。引用[5]的资源目录结构,更多是关于资源管理,可能不相关。 可能需要查阅HarmonyOS的官方文档或构建工具配置。例如,在Hvigor构建工具中,模块的build-profile.json5可能含输出配置。用户需要在该文件中指定输出HAR的名称。例如,设置output选项中的artifactName属性来定义生成的文件名。 另外,检查是否有命令行参数可以在构建时指定输出名称。例如,使用--artifact-name参数。但需要确认HarmonyOS构建工具是否支持此参数。 总结步骤:1. 在模块的build-profile.json5中添加artifact配置,指定artifactName。2. 使用构建命令,可能需要添加参数覆盖默认名称。需要注意闭源和开源HAR的不同配置,确保路径正确。同时提醒用户注意文件命名规范和可能的依赖问题。</think>在HarmonyOS Next中修改编译生成HAR文件名,可通过以下两种方式实现: ### 方法一:通过构建配置文件修改 1. 在模块的`build-profile.json5`文件中添加`artifact`配置项 2. 在`buildOptions`节点下设置`artifactName`属性 ```json // build-profile.json5 { "apiType": "stageMode", "buildOption": { "artifactType": "obfuscation", "artifact": { "artifactName": "custom_name.har" // 自定义HAR文件名 } } } ``` ### 方法二:通过构建命令参数修改 在终端执行构建命令时添加`--artifact-name`参数: ```bash ./gradlew buildHAR --artifact-name=custom_name.har ``` ### 注意事项 1. 文件名需符合HAR命名规范(小写字母、数字、下划线和短横线组合) 2. 闭源HAR需确保`artifactType`设置为`obfuscation`[^2] 3. 修改后需执行clean构建(`./gradlew cleanBuild`)确保生效 4. 多模块项目需在对应模块的配置文件中单独设置 ### 路径说明 生成HAR默认路径为: ``` /build/outputs/har/${moduleName}/${artifactName}.har ``` 通过上述配置修改后,路径中的文件名将同步变更[^2][^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ConneyWu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值