通过hook以及插件上下文动态配置HarmonyOS 鸿蒙Next构建配置报错

发布于 1周前 作者 ionicwang 最后一次编辑是 5天前 来自 鸿蒙OS

通过hook以及插件上下文动态配置HarmonyOS 鸿蒙Next构建配置报错

按文档 https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-config-ohos-sample-V5#section67131365449,新增一个 navigorfile.ts hooks 修改。 同时在hvigorfile.ts 中新增文档中同样代码:

import { appTasks, OhosAppContext, OhosPluginId } from '[@ohos](/user/ohos)/hvigor-ohos-plugin';
import { hvigor } from '[@ohos](/user/ohos)/hvigor'

// 为根节点添加一个afterNodeEvaluate hook 在hook中修改app.json5的内容并使能
hvigor.getRootNode().afterNodeEvaluate(rootNode => {
  // 获取app插件的上下文对象
  const appContext = rootNode.getContext(OhosPluginId.OHOS_APP_PLUGIN) as OhosAppContext;
  // 通过上下文对象获取从app.json5文件中读出来的obj对象
  const appJsonOpt = appContext.getAppJsonOpt();
  // 修改obj对象为想要的,此处举例修改app中的versionCode
  appJsonOpt['app']['versionCode'] = 1000001;
  // 将obj对象设置回上下文对象以使能到构建的过程与结果中
  appContext.setAppJsonOpt(appJsonOpt);
})
export default {
  system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
  plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 4px; right: 8px; font-size: 14px;">复制</button>

同步工程时报错:

hvigor ERROR: TypeError, Cannot read properties of undefined (reading 'getBuildProfileOpt') in hvigorfile at /Users/xxx/workspace/DevEcoStudioProjects/FLUTTER/lakala_app/ohos/entry/hvigorfile.ts

Try the following:

Check whether undefined attributes or methods are used in the hvigorconfig.ts and hvigorfile.ts files.

Go to the official website for help

More info: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-hvigor-faqs-0000001233028585-V5#section119742124315

2 回复
修改entry模块里的hvigorfile.ts脚本
模板:
export default {
system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

另外建议升级下IDE版本以及
"devDependencies": {
"[@ohos](/user/ohos)/hypium": "1.0.6"
},<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

升级到现网1.0.18或者1.0.19

针对您提到的通过hook以及插件上下文动态配置HarmonyOS(鸿蒙)Next构建配置时遇到的报错问题,这通常涉及到构建系统、插件机制以及运行时环境的复杂交互。报错可能源于多个方面,包括但不限于:

  1. 构建脚本错误:检查构建脚本(如build.gradle或类似文件)中的配置是否正确,特别是与hook和插件相关的部分。

  2. 插件兼容性:确认所使用的插件是否支持当前的HarmonyOS Next版本。不兼容的插件可能会导致构建失败。

  3. API使用不当:动态配置时可能调用了不支持的API或方法,导致构建过程中报错。

  4. 环境问题:开发环境中的SDK、工具链或依赖库版本不匹配也可能引起构建错误。

  5. 权限设置:确保有足够的权限去执行hook和修改构建配置。

解决这类问题通常需要详细检查错误日志,定位具体错误原因。由于无法直接查看您的项目配置和错误日志,建议仔细审查上述可能的问题点。如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html ,以获得更专业的技术支持。

回到顶部