HarmonyOS 代码混淆设置问题?

项目中的模块,都在consumer-rules.txt中设置了混淆保留选项。但是只有一个模块的起作用了是为什么?项目中,在entry/obfuscation-rules.txt中开启了代码混淆。

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

然后在各个模块的consumer-rules.txt中也设置了混淆保留选项,例如:

launcher模块

-keep-file-name
Launcher
PrivacyDialogPage
PrivacyInfo

  -keep
src/main/ets/components/model/data/**

web模块

-keep-file-name
WebViewPage
PdfPage
CityPaymentPage
  -keep
src/main/ets/components/model/data/**

但是混淆后,通过entry/build/default/cache/default/default@CompileArkTS/esmodule/release中查看,部分模块的保留选项起作用了,部分模块需要保留的代码仍然被混淆了。launcher模块中的文件名和json对象都被保留了,但是web模块中的文件名和json对象仍然被混淆了,请问这个是为什么?

阅读 483
1 个回答

obfuscation-rules.txt是用于当前模块的混淆配置consumer-rules.txt是用于引入模块的混淆配置(被引入模块本身不会受这个配置影响),相当于引入了这个模块,就会获得consumer-rules.txt文件里的混淆配置。

另外,需要release方式打包,编译类型要选择release,在右上编译模块左边有一个形式方向盘的图标,点击后设置Build Mode为Relaease。

资料文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进