HarmonyOS 鸿蒙Next OHMUrl适配问题
HarmonyOS 鸿蒙Next OHMUrl适配问题
项目中使用了一个字节码har(第三方库,例如高德、微博分享sdk),根据官方文档使用字节码har,工程必须配置useNormalizedOHMUrl为true,但会导致大量的未适配OHMUrl的第三方库(har包)报错,请问如何配置项目可以让这些未适配OHMUrl的第三方har包通过编译? 报错日志举例(支付宝sdk): 1 ERROR: ArkTS:ERROR Failed to resolve OhmUrl. Error Message: Failed to get a resolved OhmUrl for “D:\HarmonyProjects\customer\oh_modules.ohpm\pako@2.1.0\oh_modules\pako\dist\pako.esm.mjs” imported by “D:\HarmonyProjects\customer\oh_modules.ohpm@cashier_alipay+cashiersdk@15.8.25\oh_modules@cashier_alipay\cashiersdk\src\main\ets\encrypt\GZip.js”. * Try the following: > Check whether the module which D:\HarmonyProjects\customer\oh_modules.ohpm\pako@2.1.0\oh_modules\pako\dist\pako.esm.mjs belongs to is correctly configured. > Check the corresponding file name is correct(including case-sensitivity). COMPILE RESULT:FAIL {ERROR:2 WARN:57} at runArkPack (C:\Program Files\Huawei\DevEco Studio\tools\hvigor\hvigor-ohos-plugin\node_modules@ohos\hvigor-arkts-compose\dist\src\arkts-pack.js:1:5353) TypeError: Cannot read properties of undefined (reading ‘bundleName’)
在该目录中,找到对应的三方库的源文件,然后查看一下该三方库的类型(打开 src -> module.json文件中查看""type"":字段,值为""har""就是 har包),
如果是har包,检查一下 oh-package.json5 文件 ,其中有没有 ""packageType"": ""InterfaceHar"" 该配置,
如果有,就删除该配置,
您也可以先试试 注释oh-package.json5 中的依赖配置,通过 ohpm install 命令来手动更新依赖版本(有些三四方库已在新版本适配了)
这边试了下 ""[@cashier_alipay](/user/cashier_alipay)/cashiersdk"": ""^15.8.27"" 这个版本是可以通过编译的
针对HarmonyOS 鸿蒙Next OHMUrl适配问题,作为IT专家,我提供以下专业解答:
-
检查OHMUrl配置:
- 确保OHMUrl配置正确无误,与HarmonyOS官方文档或开发者指南中的示例保持一致。
- 验证URL格式是否符合HarmonyOS系统的要求,包括协议类型、域名、端口等。
-
检查网络连接:
- 确保设备网络连接正常,能够访问HarmonyOS相关服务器。
- 尝试使用其他网络或网络环境,以排除网络问题导致的适配失败。
-
检查系统兼容性:
- 确认设备已升级到支持HarmonyOS鸿蒙Next的最新版本。
- 查看HarmonyOS官方文档,了解当前系统版本是否支持OHMUrl适配。
-
查阅官方文档与社区:
- 仔细阅读HarmonyOS官方文档,了解OHMUrl适配的详细步骤和注意事项。
- 访问HarmonyOS开发者社区,搜索类似问题的解决方案或寻求其他开发者的帮助。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html