HarmonyOS 鸿蒙Next 系统路由表文件router_map.json中配置的buildFunction在release模式下被混淆,导致路由跳转失败
HarmonyOS 鸿蒙Next 系统路由表文件router_map.json中配置的buildFunction在release模式下被混淆,导致路由跳转失败
如题,系统路由表文件router_map.json中配置的buildFunction在release模式下被混淆,导致路由跳转失败
2 回复
将obfuscation-rules.txt文件中的文件名混淆(-enable-filename-obfuscation)删除即可在release模式下正常跳转。 -enable-filename-obfuscation为文件名混淆,配置白名单的主要场景为动态import或运行时直接加载的文件路径,需要使用-keep-file-name来保留这些文件路径及名称。
在HarmonyOS鸿蒙Next系统中,router_map.json
文件用于配置路由表,其中buildFunction
是路由跳转功能的关键部分。在release模式下,由于代码混淆(ProGuard或类似工具)的启用,可能会导致一些函数名、类名等标识符被重命名,从而引发路由跳转失败的问题。
这种情况通常是因为混淆配置未正确排除路由相关的类或方法。为了解决这个问题,你可以在项目的混淆配置文件中(通常是proguard-rules.pro
),添加规则来保持router_map.json
中引用的所有buildFunction
相关的类和方法不被混淆。
例如,如果buildFunction
指向了一个具体的类和方法,你可以添加如下规则:
-keep class com.yourpackage.YourRouterClass {
public static *** yourMethodName(...);
}
请确保将com.yourpackage.YourRouterClass
替换为实际的类名,yourMethodName
替换为实际的方法名。同时,检查是否有其他相关类或方法也需要被保持不被混淆。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html