鸿蒙ArkTs项目配置 —— obfuscation-rules.txt
【摘要】 obfuscation-rules.txt 文件在鸿蒙ArkTS项目中用于定义代码混淆的规则。这些规则指定了哪些代码元素(如属性名、顶层作用域名称、文件名等)应该被混淆,以及哪些应该被保留不被混淆。通过合理配置这些规则,可以在保护代码不被轻易反编译的同时,避免混淆导致的应用运行时错误。其默认配置如下# Define project specific obfuscation rules her...
obfuscation-rules.txt
文件在鸿蒙ArkTS项目中用于定义代码混淆的规则。这些规则指定了哪些代码元素(如属性名、顶层作用域名称、文件名等)应该被混淆,以及哪些应该被保留不被混淆。通过合理配置这些规则,可以在保护代码不被轻易反编译的同时,避免混淆导致的应用运行时错误。
其默认配置如下
# Define project specific obfuscation rules here.
# You can include the obfuscation configuration files in the current module's build-profile.json5.
#
# For more details, see
# https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5
# Obfuscation options:
# -disable-obfuscation: disable all obfuscations
# -enable-property-obfuscation: obfuscate the property names
# -enable-toplevel-obfuscation: obfuscate the names in the global scope
# -compact: remove unnecessary blank spaces and all line feeds
# -remove-log: remove all console.* statements
# -print-namecache: print the name cache that contains the mapping from the old names to new names
# -apply-namecache: reuse the given cache file
# Keep options:
# -keep-property-name: specifies property names that you want to keep
# -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
文件中,你可以直接写入混淆选项和保留选项。这些选项会指导编译器如何对代码进行混淆。# 禁用所有混淆 -disable-obfuscation # 开启属性名混淆 -enable-property-obfuscation # 开启顶层作用域名称混淆 -enable-toplevel-obfuscation # 开启文件名混淆 -enable-filename-obfuscation # 开启导出名称混淆 -enable-export-obfuscation
注意:这些选项默认可能已经在
obfuscation-rules.txt
中启用,具体取决于你的开发环境和项目配置。 -
保留选项
保留选项用于指定哪些代码元素不应该被混淆。这对于保持应用功能正常非常关键。
# 保留特定属性名 -keep-property-name age firstName # 保留全局名称 -keep-global-name MyClass MyFunction # 保留文件名 -keep-file-name index entry # 保留.d.ts文件中的名称 -keep-dts ./path/to/file.d.ts
这些保留选项可以确保即使开启了混淆,指定的代码元素也会保持原样,不会被混淆。
-
配置文件引用
在
build-profile.json5
文件中,你需要引用obfuscation-rules.txt
文件,以便编译器能够识别并使用这些混淆规则。{ "arkOptions": { "obfuscation": { "ruleOptions": { "enable": true, "files": ["./obfuscation-rules.txt"] } } } }
如果你有多个混淆规则文件,可以将它们全部添加到
files
数组中。
注意事项
- 性能影响:代码混淆会增加编译时间和运行时的一些开销,因为编译器需要处理额外的混淆逻辑。
- 调试难度:开启混淆后,代码的错误栈跟踪将不再直接反映源码中的名称,这可能会增加调试的难度。
- 兼容性:确保你的应用或库与鸿蒙系统的版本兼容,因为不同版本的鸿蒙系统可能对混淆的支持有所不同。
通过以上步骤,你可以在鸿蒙ArkTS项目中配置和使用obfuscation-rules.txt
文件来定义代码混淆规则,从而保护你的代码不被轻易反编译。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)