开启源码混淆

源码混淆能力已在系统中集成,可通过以下方式在DevEco Studio开启使用。开启混淆步骤:

  • 开启混淆开关

在本模块build-profile.json5配置文件中的arkOptions.obfuscation.ruleOptions字段中,通过enable字段配置是否开启混淆。


"arkOptions": {
  "obfuscation": {
    "ruleOptions": {
      "enable": true,
      "files": ["./obfuscation-rules.txt"],
    }
  }
}
  • 配置混淆规则

打开混淆开关,仅开启默认混淆功能,默认混淆范围为局部变量和参数。如需开启更多混淆功能,请在files字段指定的混淆配置文件obfuscation-rules.txt中进行选项配置。需要注意的是,不同版本的DevEco Studio,obfuscation-rules.txt文件中的默认值可能会有所不同。

以DevEco Studio5.0.3.600及更高版本为例,混淆配置文件如下所示,该配置内容表示开启属性名称混淆、顶层作用域名称混淆、文件名混淆及导入导出名称混淆功能:

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

开发者还可以使用#在混淆规则文件中进行注释,每行以#开头的文本会被当做是注释。使用方法如下,#后为注释内容:


# options:
-enable-property-obfuscation
-enable-toplevel-obfuscation
-enable-filename-obfuscation
# -enable-export-obfuscation
-keep-property-name # white list for dynamic property names
  • 指定release编译

源码混淆仅支持release编译,不支持debug编译。开启混淆开关后,release编译会进行混淆,debug编译则不会。开发者可参考指定构建模式查看和修改构建模式。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐