HarmonyOS鸿蒙Next中自己写的组件库构建出har,体积较大

HarmonyOS鸿蒙Next中自己写的组件库构建出har,体积较大 自己写的组件库,开启混淆打包后体积很大,后与别的包进行比较,发现我的包里面包含这个ets目录,有人能解释下这个吗 怎么减少这个呢 别的的我发现没有开启混淆,就不存在这个ets

cke_2975.png


更多关于HarmonyOS鸿蒙Next中自己写的组件库构建出har,体积较大的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

配置artifactType属性为obfuscation,也可以手动编写Hvigor构建插件,剔除其他不需要的冗余资源

更多关于HarmonyOS鸿蒙Next中自己写的组件库构建出har,体积较大的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


打包混淆组件的时候,可以配置一下这个看看:artifactType属性,设置为obfuscation,这样ets的源码就不会上传,不过我记得混淆是有坑的,我开发的时候也遇到,最后放弃了

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-oh-package-json5-V5#section02162312018

在HarmonyOS Next中,构建HAR包体积大的常见原因包括:未开启ProGuard混淆、资源文件未优化、依赖库未精简。解决方法:1.在build-profile.json5中配置minifyEnabled为true;2.使用工具压缩图片等资源;3.仅保留必要依赖,剔除未用组件。HAR包默认包含调试信息,release模式可减小体积。通过hvigor或命令行添加–mode=release参数构建。

在HarmonyOS Next中,HAR包体积较大的问题通常与ETS目录有关。ETS目录包含了组件的TypeScript/ArkTS源码和编译产物,这会导致包体积增大。以下是关键点说明:

  1. ETS目录是ArkTS编译后的产物,包含组件逻辑代码,默认会打包进HAR

  2. 优化建议:

    • 检查是否开启了sourceMap或debug模式编译
    • 确保proguard配置正确过滤ArkTS文件
    • 在build-profile.json中配置"artifactType":"obfuscation"进行混淆
  3. 其他包可能:

    • 使用了纯JS/TS实现
    • 正确配置了资源过滤
    • 采用动态加载方式

建议检查构建配置,特别是arktsCompilerOptions和proguard规则,确保只打包必要的运行时文件。

回到顶部