HarmonyOS 鸿蒙Next 添加混淆后release包下有混淆后文件sourceMaps.map,debug下不设置混淆怎么也有sourceMaps.map文件

发布于 1周前 作者 vueper 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 添加混淆后release包下有混淆后文件sourceMaps.map,debug下不设置混淆怎么也有sourceMaps.map文件

我用了下面指令分别打包 debug 和release包

1.hvigorw --mode project -p product=default -p module=library@default -p buildMode=debug assembleApp

2.hvigorw --mode project -p product=default -p module=library@default -p buildMode=release assembleApp  

构建的release包后,sourceMaps.map文件位于 build/{ProductName}/cache/{targetName}/CompileArkTS/esmodule 构建 debug包后,我明明设置不混淆了,为啥还有混淆文件sourceMaps.map,按道理不是应该不混淆么  
 

“buildOptionSet”: [
{
“name”: “debug”,
“debuggable”: true,
// 设置混淆 
“arkOptions”: {
“obfuscation”: {
“ruleOptions”: {
“enable”: false,
}
},
}
},
{
“name”: “release”,
“debuggable”: false,
“arkOptions”: {
// 设置混淆 
“obfuscation”: {
“ruleOptions”: {
“enable”: true,
“files”: [
“./obfuscation-rules.txt”
]
}
}
}
}
]


更多关于HarmonyOS 鸿蒙Next 添加混淆后release包下有混淆后文件sourceMaps.map,debug下不设置混淆怎么也有sourceMaps.map文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
开启混淆会生成nameCache. json文件,与sourceMaps.map文件无关,且只在在Release编译模式下可以使用
参考文档:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-app-code-ob-V5#section9148176122819

更多关于HarmonyOS 鸿蒙Next 添加混淆后release包下有混淆后文件sourceMaps.map,debug下不设置混淆怎么也有sourceMaps.map文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,关于sourceMaps.map文件的生成,主要源于构建系统对于源代码映射的配置。该文件的主要作用是将压缩或混淆后的代码映射回原始源代码,以便于调试和错误追踪。

  1. Release模式下:当您在Release模式下启用了代码混淆(如使用ProGuard等工具),构建系统会自动生成sourceMaps.map文件,以记录混淆前后的代码对应关系。这是为了在发布版本出现问题时,开发者能够利用该文件还原原始代码,便于问题排查。

  2. Debug模式下:即使在Debug模式下没有设置混淆,sourceMaps.map文件仍可能被生成。这是因为某些构建配置或工具链默认会生成源代码映射文件,以便于开发者在调试过程中能够直接定位到原始源代码位置。尽管没有混淆,该文件仍然有助于调试器准确展示源代码。

综上所述,无论是否设置混淆,HarmonyOS鸿蒙Next的构建系统都可能会生成sourceMaps.map文件。这是为了提升开发和调试的效率。如果该文件对您的项目造成了不必要的困扰或占用,您可以检查构建脚本或配置,尝试禁用源代码映射的生成。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部