HarmonyOS鸿蒙Next中如何在debug模式下也开启代码混淆

HarmonyOS鸿蒙Next中如何在debug模式下也开启代码混淆 问题描述:如何在debug模式下也开启代码混淆,主要是目前我了解到的是debug好像会跳过混淆,但是交付测试组的时候,基本上都是debug的安装包,Release包无法直接安装,无法覆盖混淆后是否正常

4 回复

以Debug模式构建HAR,会直接打包源码,不进行代码混淆,以Release模式构建HAR,会编译、混淆并压缩代码。可以参考官网代码混淆文档: https://developer.huawei.com/consumer/cn/doc/best-practices/bpta-app-code-ob#section13780943192313

推荐方案:可以打Release包加混淆,通过邀请测试让测试组进行测试。邀请测试参考文档: https://developer.huawei.com/consumer/cn/doc/app/agc-help-invite-test-overview-0000002287701773

更多关于HarmonyOS鸿蒙Next中如何在debug模式下也开启代码混淆的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


学习了

鸿蒙Next的debug模式下开启代码混淆,需在模块级build-profile.json5中配置。在"buildOption"的"externalNativeOptions"里添加"obfuscation"字段并设为true。同时配置"mappingFile"指定混淆映射文件路径。示例配置如下:

"buildOption": {
  "externalNativeOptions": {
    "obfuscation": true,
    "mappingFile": "./obfuscation-rules.txt"
  }
}

需确保混淆规则文件存在且规则正确。

在HarmonyOS Next的OpenHarmony项目中,可以通过修改构建配置文件来实现在Debug模式下开启代码混淆。

关键配置位于项目根目录的build-profile.json5文件中。你需要找到对应模块(如entry)的buildOption配置项,在其中设置proguardtrue

具体步骤如下:

  1. 打开 build-profile.json5 文件。
  2. 定位到你需要配置的模块(例如 "entry")。
  3. 在该模块的 "buildOption" 字段中,添加或修改 "proguard" 配置。一个典型的配置示例如下:
{
  "app": {
    "signingConfigs": [],
    "products": [],
    "buildOption": {
      "proguard": true // 将此设置为 true,即可在 Debug 模式下启用混淆
    }
  }
}

重要说明:

  • 生效模式:将 "proguard" 设置为 true 后,无论是 Debug 还是 Release 构建类型,只要执行了编译构建,混淆流程都会运行。这直接满足了你在 Debug 包中测试混淆效果的需求。
  • 配置文件:混淆的具体规则(如保留哪些类、方法)需要在模块的 proguard-rules.pro 文件中进行定义。你需要根据项目实际情况,在此文件中添加适当的保留规则,以避免关键代码被错误混淆导致功能异常。
  • 构建与安装:配置完成后,通过 DevEco Studio 执行 Debug 构建(例如点击运行按钮),生成的 HAP 包即是经过混淆的。你可以将此 HAP 包提供给测试组进行安装和测试。

通过以上配置,即可解决交付测试时需要使用混淆后的 Debug 安装包进行验证的问题。

回到顶部