HarmonyOS 鸿蒙Next har包混淆问题

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next har包混淆问题

混淆问题

项目内引用了一个Har,har包内引用了另一个本地har,如何保证项目开启-enable-export-obfuscation混淆的时候,har包内的本地har包不被混淆

2 回复
在DevEco Studio中,当开启-enable-export-obfuscation选项时,HAR包内的本地HAR包不会被混淆,这是通过以下机制实现的:
1.混淆选项的作用范围: - -enable-export-obfuscation选项仅对模块及其导出的类、对象的属性名进行混淆。 - 它不会影响HAR包内的本地HAR包。
2.默认混淆行为: - DevEco Studio默认开启-disable-obfuscation选项,这意味着在未显式配置混淆规则的情况下,代码不会被混淆。 - 只有在显式配置了混淆规则(如通过属性ruleOptions.enable设置为true)时,代码才会被混淆。
3.HAR包的特殊处理: - 当构建HAR包时,如果开启了-enable-export-obfuscation选项,只会混淆HAR包本身,而不会混淆其中的本地HAR包。 - 这是因为在HAR包的构建过程中,混淆规则会与HAR包中的obfuscation.txt文件合并,而这个文件主要用于记录混淆配置,不会包含本地HAR包的信息。
4.配置文件的作用: - 在模块的混淆配置文件obfuscation-rules.txt中,可以通过保留特定的名称来避免混淆。例如,通过-keep-global-name选项保留顶层作用域名称,可以确保本地HAR包中的顶层变量不被混淆。 - 类似地,通过-keep-file-name选项保留文件名,可以确保HAR包中的本地HAR包及其依赖的文件不被混淆。
综上所述,通过合理配置混淆选项,特别是-keep-global-name和-keep-file-name选项,可以确保HAR包内的本地HAR包不被混淆。

关于HarmonyOS 鸿蒙Next har包混淆问题,以下是一些专业解答:

HarmonyOS鸿蒙开发中,HAR包的混淆功能旨在提高代码的安全性和减小应用体积。然而,在启用混淆并设置为compact模式时,可能会遇到代码中文档类注释丢失的问题。这是因为混淆工具在优化代码时,会移除被视为非必要的注释信息。

针对此问题,虽然开启-keep-comments选项可能无效,但仍可尝试以下方法:

  • 调整混淆配置:检查并调整混淆配置文件,尝试保留特定注释,但此操作可能较为复杂,因为混淆工具的主要目标是减小代码体积。
  • 外部文档维护:采用外部工具(如Swagger、Doxygen等)生成和维护文档,减少对源代码注释的依赖。
  • 重新评估混淆策略:如果文档对项目维护至关重要,考虑是否使用compact混淆模式,或在不影响性能的前提下降低混淆级别。

请注意,混淆配置需谨慎操作,以避免运行时错误。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部