HarmonyOS 鸿蒙Next 集成友盟报错

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

HarmonyOS 鸿蒙Next 集成友盟报错

我这边集成了友盟相关的 sdk  “@umeng/common”: “^1.0.31”, “@umeng/analytics”: “^1.0.19”, “@umeng/push”: “^1.0.11”, “@umeng/apm”: “^1.0.9”, “@umeng/utunnel”: “^1.1.2”,  我之前 devstudio 没升级的时候正常使用, 后来我升级到  DevEco Studio NEXT Beta1(5.0.3.810) 时开始报错, 现在我又升级到了最新的  DevEco Studio NEXT Release(5.0.3.900) 还是报错  > hvigor ERROR: Bytecode HARs: [@umeng/utunnel] 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:modulePro@GenerateLoaderJson… > hvigor ERROR: BUILD FAILED in 359 ms

2 回复

当字节码HAR被集成使用时,那么该工程的build-profile.json5中的useNormalizedOHMUrl必须设置为true。

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-build-har-V5#section179161312181613

useNormalizedOHMUrl 为true的时候ohmurl使用的是新的拼接和解析方式,不能和旧的ohmurl混用,会导致运行时无法识别 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-faqs-V5#section1585241711814

这个应该是依赖包跟工程中的配置没有一致出现的问题,

useNormalizedOHMUrl 为true的时候ohmurl使用的是新的拼接和解析方式,不能和旧的ohmurl混用,会导致运行时无法识别。 解决措施 可采用以下两种方式解决该问题: 将报错的依赖包的工程级build-profile.json5中的useNormalizedOHMUrl修改为与当前工程一致,重新生成依赖包并替换(useNormalizedOHMUrl缺省默认值为false)。

{
    "app": {
        "products": [{
            "buildOption": {
                "strictMode": {
                    "useNormalizedOHMUrl": true
                }
            }
        }]
    }
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

 如果与工程不一致的依赖包较多,建议修改工程的工程级build-profile.json5中的useNormalizedOHMUrl值以及替换其它的不一致的依赖包。

你这边Build-->Make All Modules 后看出现报错的路径,找到对应的文件夹,删除文件夹下的package.json,删除这个文件后再次Make All Modules 直至没有出现报错,如"D:\DevEcoWorkSpace\guanhaixinwen\oh_modules\.ohpm\domhandler@5.0.3\oh_modules\domhandler\lib\esm\index.js,删除domhandler下面的展开目录中package.json使用此方法暂时解决您的问题

这个是已知问题,下个版本会修复

针对HarmonyOS 鸿蒙Next 集成友盟报错的问题,这通常涉及到项目配置、依赖管理、环境设置等多个方面。以下是一些可能的解决步骤:

  1. 检查项目配置:确保在项目的配置文件(如build.gradle)中正确声明了所有必需的模块依赖,并且没有拼写错误或版本号不匹配的问题。
  2. 更新开发环境:确保DevEco Studio已更新到最新版本,并且所有必要的SDK和工具都已安装。
  3. 检查网络连接:如果你的项目依赖于远程仓库中的模块,确保网络连接正常,仓库地址可访问。
  4. 清除项目缓存:尝试清除项目缓存并重新构建项目,以解决可能的缓存问题。
  5. 检查模块路径:确保所有模块的物理位置与构建配置文件中的指定位置相匹配。

如果上述步骤无法解决问题,可能是由于友盟SDK与HarmonyOS版本的兼容性问题。建议查阅友盟的官方文档,了解是否有针对HarmonyOS的适配说明或替代方案。

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

回到顶部