#星光不负 码向未来# 鸿蒙开发之ArkTS并发使用 原创
开启源码混淆
开启混淆步骤:源码混淆能力已在系统中集成,可通过以下方式在DevEco Studio开启使用。
1、开启混淆开关
在本模块build-profile.json5配置文件中的arkOptions.obfuscation.ruleOptions字段中,通过enable字段配置是否开启混淆。
"arkOptions": {
"obfuscation": {
"ruleOptions": {
"enable": true,
"files": ["./obfuscation-rules.txt"],
}
}
}一键获取完整项目代码
2、配置混淆规则
打开混淆开关,仅开启默认混淆功能,默认混淆范围为局部变量和参数。如需开启更多混淆功能,请在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编译则不会进行混淆。开发者可参考[指定构建模式]查看和修改构建模式。
注意
release编译与debug编译的区别并不只包含混淆,若需要明确应用行为差异是否由于混淆,应该通过开启或关闭混淆开关排查,而不是仅通过切换release或debug编译来区分。



















