HarmonyOS 鸿蒙Next OHMUrl适配问题

发布于 1周前 作者 itying888 来自 鸿蒙OS

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’)

2 回复
您可以在工程目录下找到 oh_modules -> .ohpm 文件夹,

在该目录中,找到对应的三方库的源文件,然后查看一下该三方库的类型(打开 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专家,我提供以下专业解答:

  1. 检查OHMUrl配置

    • 确保OHMUrl配置正确无误,与HarmonyOS官方文档或开发者指南中的示例保持一致。
    • 验证URL格式是否符合HarmonyOS系统的要求,包括协议类型、域名、端口等。
  2. 检查网络连接

    • 确保设备网络连接正常,能够访问HarmonyOS相关服务器。
    • 尝试使用其他网络或网络环境,以排除网络问题导致的适配失败。
  3. 检查系统兼容性

    • 确认设备已升级到支持HarmonyOS鸿蒙Next的最新版本。
    • 查看HarmonyOS官方文档,了解当前系统版本是否支持OHMUrl适配。
  4. 查阅官方文档与社区

    • 仔细阅读HarmonyOS官方文档,了解OHMUrl适配的详细步骤和注意事项。
    • 访问HarmonyOS开发者社区,搜索类似问题的解决方案或寻求其他开发者的帮助。

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

回到顶部