HarmonyOS鸿蒙Next中编译闭源har混淆配置-compact未生效且-enable-filename-obfuscation丢失

HarmonyOS鸿蒙Next中编译闭源har混淆配置-compact未生效且-enable-filename-obfuscation丢失 配置 consumer-rules.txt 内容如下:

  • -enable-property-obfuscation
  • -enable-string-property-obfuscation
  • -enable-filename-obfuscation
  • -compact

生成 har

安装后 obfuscation.txt 内容如下:

  • -enable-property-obfuscation
  • -enable-string-property-obfuscation
  • -enable-toplevel-obfuscation
  • -compact

根据 -compact 描述,文件应该会被压缩为一行,但是实际没有。

并且 -enable-filename-obfuscationhar 里的 obfuscation.txt 没有出现,har 里出现了未配置的 -enable-toplevel-obfuscation


更多关于HarmonyOS鸿蒙Next中编译闭源har混淆配置-compact未生效且-enable-filename-obfuscation丢失的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

当构建HAP或者HAR的时候,最终的混淆规则是自身的ruleOptions.files属性,再加上依赖的library的consumerFiles属性,以及依赖的HAR包中的obfuscation.txt文件的合并。属性ruleOptions.files中指定的混淆配置文件会在构建HAP或HAR的时候被应用。属性consumerFiles中指定的混淆配置文件会在构建依赖这个library的工程或library时被应用。对library1打har包后,依赖这个library1的library2里的obfuscation.txt中会有consumer-rules.txt的内容,但不会生效,只会生效library1的obfuscation-rule.txt的内容。只有当library2打har包后,library1里的consumer-rules.txt才会与library2的obfuscation-rule.txt合并。

详细请看https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5

更多关于HarmonyOS鸿蒙Next中编译闭源har混淆配置-compact未生效且-enable-filename-obfuscation丢失的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,编译闭源HAR(Harmony Archive)时,混淆配置的compact未生效且-enable-filename-obfuscation丢失的问题,可能与以下原因有关:

  1. 混淆配置未正确应用:检查build.gradleoh-package.json中的混淆配置,确保compact-enable-filename-obfuscation参数已正确设置,并且与编译工具的版本兼容。

  2. 编译工具版本问题:确保使用的编译工具(如ohos-build-tool)是最新版本,旧版本可能不支持某些混淆参数。

  3. 配置文件路径错误:混淆配置文件路径可能不正确,导致参数未生效。检查配置文件路径,确保其与编译工具要求的路径一致。

  4. 依赖库冲突:项目中可能存在依赖库冲突,导致混淆配置未正确应用。检查依赖库,确保其与混淆配置兼容。

  5. 编译环境问题:编译环境可能存在配置问题,如环境变量未正确设置或编译器缓存未清理。清理编译器缓存并重新编译项目。

  6. HAR模块配置问题:HAR模块的配置可能未正确加载混淆参数。检查HAR模块的配置文件,确保混淆参数已正确应用。

  7. 日志输出不完整:编译日志输出可能不完整,导致无法识别问题。检查编译日志,确保其完整输出,并查找相关错误信息。

  8. 系统权限问题:编译工具或配置文件可能因权限问题无法正确加载。检查文件和目录权限,确保编译工具有足够权限访问配置文件。

以上是可能导致compact未生效且-enable-filename-obfuscation丢失的原因。根据具体情况进行排查和修复。

在HarmonyOS鸿蒙Next中,编译闭源har时,如果发现-compact参数未生效且-enable-filename-obfuscation参数丢失,可能是由于以下原因:

  1. SDK版本问题:确保使用的SDK版本支持这些参数。可以尝试更新到最新版本。

  2. 配置错误:检查build.gradle或相关配置文件,确保参数正确添加且无误。

  3. 插件兼容性:某些插件可能不支持这些参数,尝试禁用其他插件或使用兼容版本。

  4. 构建工具问题:清理构建缓存并重新构建,或尝试使用不同的构建工具版本。

如果问题依旧,建议查阅官方文档或联系技术支持。

回到顶部