HarmonyOS鸿蒙Next中怎么在开启了混淆的情况下,导出HAR中的方法,保证方法不被混淆?

HarmonyOS鸿蒙Next中怎么在开启了混淆的情况下,导出HAR中的方法,保证方法不被混淆? 如题,我想封装一个HAR,HAR中导出了一些工具函数,但HAR开启了代码混淆。导致导出的方法是被混淆后的方法?如何做到在开启了代码混淆的情况下,保证导出方法的名字保持不被混淆?

4 回复

更多关于HarmonyOS鸿蒙Next中怎么在开启了混淆的情况下,导出HAR中的方法,保证方法不被混淆?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


谢谢分享!

在HarmonyOS鸿蒙Next中,若要在开启混淆的情况下导出HAR(HarmonyOS Archive)中的方法并确保方法不被混淆,可以通过在proguard-rules.pro文件中添加相应规则来实现。具体步骤如下:

  1. 确保HAR项目已启用混淆:在build.gradle文件中,确认minifyEnabled已设置为true

  2. proguard-rules.pro文件中添加规则:为需要保留的方法添加-keep规则。例如,若要保留com.example.MyClass类中的所有public方法,可以添加如下规则:

    -keep class com.example.MyClass {
        public *;
    }
    
  3. 针对特定方法保留:若只需保留特定方法,可以使用-keepclassmembers规则。例如,保留com.example.MyClass中的myMethod方法:

    -keepclassmembers class com.example.MyClass {
        public void myMethod();
    }
    
  4. 保留所有HAR中的公共方法:若需保留整个HAR中的公共方法,可以使用通配符*

    -keep class com.example.** {
        public *;
    }
    
  5. 构建项目:完成上述配置后,重新构建项目。混淆工具会根据配置保留指定方法,确保它们不被混淆。

通过以上步骤,可以在开启混淆的情况下,导出HAR中的方法并确保它们不被混淆。

在HarmonyOS鸿蒙Next中,若需在开启混淆时导出HAR中的方法并确保其不被混淆,可以通过在proguard-rules.pro文件中添加自定义规则来实现。具体步骤为:在proguard-rules.pro中,使用-keep指令指定需要保留的类和方法。例如,若需保留com.example.MyClass中的myMethod方法,可添加以下规则:-keep class com.example.MyClass { public void myMethod(); }。确保规则准确无误后,重新编译项目即可。此方法有效防止指定方法在混淆过程中被重命名或删除。

回到顶部