HarmonyOS 鸿蒙Next 混淆规则的问题

HarmonyOS 鸿蒙Next 混淆规则的问题

我们在项目中开启了混淆,请问如果想让继承某个父类的所有子类都不混淆,应该如何编写这个规则呢?在Android项目中可以使用例如下面的规则来避免混淆:

keepclassmembers class * extends com.mobile.YTBaseVo -keep public class * extends com.JsApi { public <methods>; }  

请问鸿蒙里有没有类似的规则呢?如果没有的话这种场景应该如何处理呢?

2 回复
可以看一下这个配置混淆规则:

https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README-cn.md#%E9%85%8D%E7%BD%AE%E6%B7%B7%E6%B7%86%E8%A7%84%E5%88%99

如果保留选项里没有,说明目前是不支持直接这样配置的,可以通过-keep-file-name等其他规则来配置。

更多关于HarmonyOS 鸿蒙Next 混淆规则的问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next 混淆规则的问题解答如下:

HarmonyOS 鸿蒙Next确实提供了代码混淆功能,旨在增加代码的复杂性和模糊性,以保护知识产权并提高安全性。混淆规则通常写在obfuscation-rules.txt文件中,该文件包含了各种混淆选项和保留选项。

在HarmonyOS中,可以通过配置obfuscation-rules.txt文件来控制混淆行为,例如开启属性混淆(-enable-property-obfuscation)、顶层作用域名称混淆(-enable-toplevel-obfuscation)等选项。同时,也可以使用-keep选项来指定不希望被混淆的类、方法或属性名。

需要注意,混淆后的代码名称会发生更改,可能会影响运行时crash堆栈日志的理解,因此在开启混淆功能时需要谨慎考虑是否要保留某些关键名称或注释,以便后续的调试和维护。

此外,当构建HAR包时,如果开启了混淆选项,只会混淆HAR包本身,而不会混淆其中的本地HAR包。这是因为混淆规则会与HAR包中的obfuscation.txt文件合并,而这个文件主要用于记录混淆配置,不会包含本地HAR包的信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部