HarmonyOS 鸿蒙Next hvigorfile.ts 编写的任务不调用

发布于 1周前 作者 yibo5220 最后一次编辑是 5天前 来自 鸿蒙OS
import { hapTasks } from '@ohos/hvigor-ohos-plugin';

export function customPluginFunction1(str?: string) {
    return {
        pluginId: 'CustomPluginID1',
        apply(pluginContext) {
            pluginContext.registerTask({
                // 编写自定义任务
                name: 'customTask1',
                run: (taskContext) => {
                    console.log('customTask1: ',taskContext.moduleName, taskContext.modulePath);
                },
                // 确认自定义任务插入位置
                dependencies: ['default@BuildJS'],
                postDependencies: ['default@CompileArkTS']
            })
        }
    }
}

export default {
    system: hapTasks,  /* Built-in plugin of Hvigor. It cannot be modified. */
    plugins:[customPluginFunction1()]         /* Custom plugin to extend the functionality of Hvigor. */
}

参照文档中:如何在构建任务中执行shell脚本-编译构建-DevEco Studio-开发 - 华为HarmonyOS开发者

修改了 hvigorfile.ts 文件,编译运行工程没有日志打印,说明脚本没有执行,这里可能是什么原因呢?


更多关于HarmonyOS 鸿蒙Next hvigorfile.ts 编写的任务不调用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

现在遇到了一个新的问题:

harTasks 不会执行自定义任务

import { harTasks } from '@ohos/hvigor-ohos-plugin';

export function customPluginFunction1(str?: string) {
    console.log('第一步');
    return {
        pluginId: 'CustomPluginID1',
        apply(pluginContext) {
            console.log('第二步');
            pluginContext.registerTask({
                // 编写自定义任务
                name: 'customTask1',
                run: (taskContext) => {
                    console.log('第三步');
                },
                // 确认自定义任务插入位置
                dependencies: ['default@PreBuild'],
                // postDependencies: ['assembleHar']
            })
            console.log('第四步');
        }
    }
}

export default {
    system: harTasks,  /* Built-in plugin of Hvigor. It cannot be modified. */
    plugins:[customPluginFunction1()]         /* Custom plugin to extend the functionality of Hvigor. */
}

更多关于HarmonyOS 鸿蒙Next hvigorfile.ts 编写的任务不调用的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


「第三步」这行日志不会打印,其余几个日志都可以打印

问下,你看的哪里的日志, 是Build的日志吗?

cke_499.png

我啥也没动,就使用你的代码,看到是有日志打印的

这里确实是我看错位置了,之前在「日志」tab 里看的,切到「构建」tab就看到日志了

在HarmonyOS鸿蒙Next环境中,如果hvigorfile.ts编写的任务不调用,通常可能是由以下几个原因导致的:

  1. 任务配置错误:检查hvigorfile.ts中的任务配置是否正确,包括任务名称、依赖关系、执行条件等。确保所有配置均符合HarmonyOS的任务调度规范。

  2. 资源竞争:系统资源可能已被其他高优先级任务占用,导致你的任务无法被及时调度。检查系统资源使用情况,尝试调整任务优先级或执行时间。

  3. 系统状态:系统可能处于某些特殊状态(如低功耗模式、系统维护等),这些状态可能限制了任务的执行。确认系统状态是否允许任务执行。

  4. 权限问题:确保你的应用或任务具有执行所需的所有权限。权限不足可能导致任务无法被正确调用。

  5. 代码错误:检查任务代码本身是否存在逻辑错误或异常处理不当的情况,这些可能导致任务在执行前被终止。

如果以上检查均未能解决问题,请直接联系官网客服以获取更专业的帮助。官网地址是:https://www.itying.com/category-93-b0.html ,他们将能够根据你的具体情况提供更详细的解决方案。

回到顶部