如何解决module打包完成之后看不到源码的问题? 官方
头像 鸿蒙小助手 2026-04-14 16:03:02    发布
8715 浏览 44 点赞 3 收藏

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

更多与该问题相关的讨论,请点击原帖查看:

module打包问题,打包完成之后看不到源码了-华为开发者问答 | 华为开发者联盟 (huawei.com)

问题描述:

如何解决module打包完成之后看不到源码的问题?

解决方案:

【背景知识】
HAR打包产物有两种,一种是
字节码HAR,一种是源码HAR,他们的区别:

  • 字节码HAR:HAR包中包含abc字节码、资源文件、配置文件、readme、changelog声明文件、license证书文件,提升发布到ohpm中心仓产物的安全性。
  • 源码HAR:HAR包中包含源码的HAR包,其中包含源码、资源文件以及配置文件等,方便开发者进行本地调测。

通过在HAR模块的build-profile.json5中,配置byteCodeHar属性,设置打包产物为源码HAR,还是字节码HAR。HAR模块的build-profile.json5 byteCodeHar属性默认不配置,通过工程的build-profile.json5中的useNormalizedOHMUrl进行控制:

  • 当工程级build-profile.json5中useNormalizedOHMUrl配置为true时,byteCodeHar缺省默认值为true;
  • 当useNormalizedOHMUrl配置为false时,byteCodeHar缺省默认值为false。

【问题定位】

  1. 若是开启混淆,.ets代码文件打包后产物为.js、.d.ets文件,无法查看源码。
  2. 工程级build-profile.json5中useNormalizedOHMUrl配置为true时,打包产物为字节码HAR,未开启混淆时,.ets代码文件打包后产物后为.abc、.d.ets文件,无法查看源码。
  3. 工程级build-profile.json5中useNormalizedOHMUrl配置为false时,打包产物为源码码HAR,未开启混淆时,.ets代码文件打包后产物后依然为.ets文件,且可以查看源码。

【分析结论】
由于工程级build-profile.json5中useNormalizedOHMUrl配置为true,导致打包产物为字节码HAR,所以不能查看源码。

【修改建议】
将工程级build-profile.json5中useNormalizedOHMUrl配置为false,重新使用Make Module 'module'打包HAR包,打出的产物即可查看源码。

【总结】
若是想查看HAR源码,建议编译
源码HAR,对于对外提供SDK,以及高安全的场景,推荐使用字节码HAR,可以降低源码泄漏的风险。
tips:字节码HAR有使用限制,请查看字节码
约束条件


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
头像

鸿蒙小助手

致力于为鸿蒙开发者谋福利

1031

帖子

7

提问

13565

粉丝

关注
最新发布

MCP+Rules:AI辅助鸿蒙应用开发实践

2026-04-17 10:25:25    发布
热门推荐
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 商务内容合作QQ:2291221 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255