HarmonyOS 鸿蒙Next中打包Hap

HarmonyOS 鸿蒙Next中打包Hap 在源码中有一些文件, 打成hap包后, 通过反编译, 发现没有用到的ets源文件没有达到hap包内, 有什么方法可以打进去吗?

2 回复

鸿蒙Next中打包Hap需使用DevEco Studio 3.1或更高版本。具体步骤:

  1. 在项目根目录配置build-profile.json5,定义hap包名、版本等基础信息
  2. 执行Build > Build Hap(s)命令
  3. 生成hap文件默认输出到工程目录下的/build/outputs/hap目录
  4. 如需多hap打包,需在build-profile.json5中配置multiHapMode为true
  5. 签名配置需提前在Project Structure中设置好签名证书,

更多关于HarmonyOS 鸿蒙Next中打包Hap的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,HAP包构建时会自动进行代码优化和资源过滤,未引用的ets文件默认不会打包。如果需要强制包含这些文件,可以通过以下方式实现:

  1. 在模块的build-profile.json5配置文件中,添加以下配置:
"buildOption": {
  "artifactType": "original"
}
  1. 或者在oh-package.json5中配置:
"buildType": {
  "release": {
    "keepUnusedResources": true
  }
}

注意:强制包含未使用文件会增加包体积,建议仅在调试或特殊需求时使用。正式发布版本应保持默认优化配置以获得最佳性能。

回到顶部