HarmonyOS 鸿蒙Next 涉及ark web与h5端交互的代码,如何配置混淆规则

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

HarmonyOS 鸿蒙Next 涉及ark web与h5端交互的代码,如何配置混淆规则

核心代码如下,关了顶层混淆和变量混淆

现在是callbackIdresult可以保持,但是result里的object的key会被混淆

比如result:{sessionId: 1}会被混淆成result:{c11: 1},导致h5和arkweb的原生部分交互失败

混淆禁用正常

2 回复

对于JSON数据解析及对象序列化的场景,可以使用 -keep-property-name 来指定想保留的属性名,您可以尝试配置以下的保留选项:

-keep-property-name
sessionId

相关文档可以参考:JSON数据解析及对象序列化

更多关于HarmonyOS 鸿蒙Next 涉及ark web与h5端交互的代码,如何配置混淆规则的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,针对ark web与h5端交互的代码配置混淆规则,主要涉及对ark编译产物的处理。以下是一个简要的配置方法:

  1. 确定混淆工具:鸿蒙系统通常使用ProGuard或类似的代码混淆工具。确保你的开发环境中已集成该工具。

  2. 配置混淆文件:在项目的proguard-rules.pro(或其他混淆配置文件)中,添加针对ark web与h5交互的代码的混淆规则。

  3. 保持特定类和方法不被混淆:由于ark web与h5的交互依赖于特定的接口和方法,因此需要在混淆文件中明确指定这些接口和方法不被混淆。例如:

-keep class com.yourpackage.arkwebinterface.** { *; }
-keep interface com.yourpackage.arkwebinterface.** { *; }
-keep public class * {
    public static void main(java.lang.String[]);
}

(注意:这里的包名和类名需要根据实际情况替换)

  1. 测试混淆效果:在配置好混淆规则后,重新编译项目,并测试ark web与h5端的交互功能是否正常。

如果配置过程中遇到问题,确保混淆规则正确无误,并且所有必要的类和方法都已被正确保留。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部