HarmonyOS鸿蒙Next编译混淆参数

HarmonyOS鸿蒙Next编译混淆参数

-keep-global-name: specifies names that you want to keep in the global scope

-enable-property-obfuscation
-enable-toplevel-obfuscation
-enable-filename-obfuscation
-enable-export-obfuscation

如果我的obfuscation-rules.txt文件里面,没有写这些, 还会混淆吗?

3 回复

-enable-property-obfuscation、-enable-toplevel-obfuscation、-enable-filename-obfuscation、-enable-export-obfuscation这四项是开启混淆的设置,如果您不配置上面的这四项基本等于没开混淆,如果需要混淆这四项和-keep都是需要写的

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


在HarmonyOS鸿蒙Next中,编译混淆参数主要用于代码混淆,以保护应用代码不被轻易逆向工程。混淆参数通常在build.gradle文件中配置。以下是常用的混淆参数设置:

  1. 启用混淆:在build.gradle文件中,设置minifyEnabledtrue以启用混淆。

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
  2. 自定义混淆规则:在proguard-rules.pro文件中,定义需要保留的类、方法或字段。例如:

    -keep public class com.example.MyClass {
        public *;
    }
    
  3. 优化选项:可以通过proguard-android-optimize.txt文件启用优化选项,如代码压缩和优化。

    -optimizationpasses 5
    -allowaccessmodification
    
  4. 移除日志代码:可以通过混淆规则移除日志代码,以减少应用体积。

    -assumenosideeffects class android.util.Log {
        public static int v(...);
        public static int d(...);
        public static int i(...);
        public static int w(...);
        public static int e(...);
    }
    
  5. 保留资源:可以通过混淆规则保留特定资源,如布局文件或字符串。

    -keepresources layout/*, drawable/*, string/*
    
  6. 忽略警告:可以通过混淆规则忽略特定警告,以避免混淆过程中出现不必要的错误。

    -dontwarn com.example.**
    

这些参数和规则可以根据具体应用的需求进行调整和扩展。

在HarmonyOS鸿蒙Next开发中,编译混淆参数用于保护代码安全,防止逆向工程。通常使用ProGuard或R8进行混淆。以下为常见混淆参数配置:

  1. 启用混淆:在build.gradle中设置:

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
  2. 基本规则:proguard-rules.pro中配置:

    -dontwarn **
    -keep class com.example.** { *; }
    
  3. 优化选项:

    -optimizationpasses 5
    -allowaccessmodification
    
  4. 资源混淆:可使用AndResGuard等工具进一步混淆资源文件。

合理配置混淆参数能有效保护代码,同时避免因混淆导致的运行时错误。

回到顶部