HarmonyOS鸿蒙Next中IDE报错:not supported when useNormalizedOHMUrl is not true.
HarmonyOS鸿蒙Next中IDE报错:not supported when useNormalizedOHMUrl is not true. 集成三方库编译时,IDE提示报错信息如下:

该问题应该如何解决?请提供详细的操作步骤
更多关于HarmonyOS鸿蒙Next中IDE报错:not supported when useNormalizedOHMUrl is not true.的实战教程也可以访问 https://www.itying.com/category-93-b0.html
一、结论
hvigor ERROR: Bytecode HARs: [@cashier_alipay/cashiersdk] not supported when useNormalizedOHMUrl is not true.
- Try the following:
Please check useNormalizedOHMUrl in the project-level build-profile.json5 file.
hvigor ERROR: Failed :entry:default@GenerateLoaderJson… hvigor ERROR: BUILD FAILED in 1 s 56 ms
hvigor错误:当useNormalizedOHMUrl不为true时,不支持字节码HARs:[@cashier_alipay/cashiersdk]。 -尝试以下操作: 请检查项目级build-profile.json5文件中使用的Normalized OHMUrl。
该问题详细原理,参见:useNormalizedOHMUrl有什么作用?分别在什么场景下进行设置?-华为开发者问答 | 华为开发者联盟
二、解决方案
在项目根节点的编译配置build_profile.json5中,添加 caseSensitiveCheck useNormalizedOHMUrl 为true
"products": [
{
"name": "default",
"signingConfig": "default",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"caseSensitiveCheck": true,
"useNormalizedOHMUrl": true
}
}
}
],

更多关于HarmonyOS鸿蒙Next中IDE报错:not supported when useNormalizedOHMUrl is not true.的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
该报错源于HarmonyOS Next中IDE的URL标准化配置问题。当useNormalizedOHMUrl参数未设置为true时,系统不支持当前操作。需在IDE配置或项目设置中启用URL标准化功能。检查相关配置文件,确保useNormalizedOHMUrl参数正确配置为true即可解决。
这个错误通常是由于在 oh-package.json5 文件中,三方库的 devDependencies 配置项缺少了关键的 "useNormalizedOHMUrl": true 参数导致的。
根本原因:
在 HarmonyOS Next 中,为了确保三方库的路径解析和模块加载正确,当通过 ohpm 安装带有 devDependencies 的库时,需要在配置中显式声明使用标准化的 OHM(OpenHarmony Module)URL。
解决方案:
请按照以下步骤检查和修改你的工程配置:
-
定位配置文件: 打开你的 HarmonyOS 应用工程根目录,找到
oh-package.json5文件。 -
编辑配置文件: 在
oh-package.json5文件中,找到"devDependencies"字段。你需要在该字段内,为你正在集成的、导致报错的三方库添加"useNormalizedOHMUrl": true参数。修改示例: 假设你集成的库名为
"@example/my-library",修改前可能类似这样:"devDependencies": { "@example/my-library": "^1.0.0" }修改后应为:
"devDependencies": { "@example/my-library": { "version": "^1.0.0", "useNormalizedOHMUrl": true } }注意:如果
devDependencies中已有其他库,请确保只为出现问题的特定库添加此配置,或根据实际情况调整。 -
同步项目依赖: 保存
oh-package.json5文件后,在 IDE 中执行以下操作之一来同步依赖:- 点击 IDE 顶部菜单栏的 Build > Refresh Ohpm Packages。
- 或者在项目根目录上右键,选择 HarmonyOS > Refresh Ohpm Packages。
-
清理并重新编译: 依赖刷新完成后,建议执行 Build > Clean Project 清理项目,然后再次点击 Build > Build HAP(s) 进行编译,检查错误是否已解决。
补充说明:
- 此配置项 (
useNormalizedOHMUrl) 主要作用于开发依赖(devDependencies),用于在开发阶段正确解析模块路径。 - 如果该三方库是作为运行时依赖(
dependencies)引入,通常不需要此配置。请根据报错信息和库的实际用途,确认其是否被正确放置在devDependencies中。
完成以上步骤后,IDE 的编译报错应被消除。

