HarmonyOS 鸿蒙Next 编译过程中是否可以修改桌面图标

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

HarmonyOS 鸿蒙Next 编译过程中是否可以修改桌面图标

编译过程中是否可以修改桌面图标

3 回复

可以参考:

entry模块下 hvigorfile.ts

import { hapTasks, OhosHapContext, OhosPluginId } from @ohos/hvigor-ohos-plugin’;

import { getNode,hvigor } from @ohos/hvigor’

const entryNode = getNode(__filename);

// 为此节点添加一个afterNodeEvaluate hook 在hook中修改module.json5的内容并使能

entryNode.afterNodeEvaluate(node => {

    let buildMode = hvigor.getExtraConfig().get(‘buildMode’)

    if (buildMode===‘debug’) {

        // 获取此节点使用插件的上下文对象 此时为hap插件 获取hap插件上下文对象

        const hapContext = node.getContext(OhosPluginId.OHOS_HAP_PLUGIN) as OhosHapContext;

        // 通过上下文对象获取从module.json5文件中读出来的obj对象

        const moduleJsonOpt = hapContext.getModuleJsonOpt();

        // 修改obj对象为想要的,此处举例修改module中的deviceTypes

        moduleJsonOpt[‘module’][‘abilities’][0][‘icon’] = “$media:2”;

        // 将obj对象设置回上下文对象以使能到构建的过程与结果中

        hapContext.setModuleJsonOpt(moduleJsonOpt);

        //获取targets

        const buildProfile = hapContext.getBuildProfileOpt()

        console.log(====Entry^buildProfile${<span class="hljs-built_in">JSON</span>.stringify(buildProfile)})

    } else {

        // 获取此节点使用插件的上下文对象 此时为hap插件 获取hap插件上下文对象

        const hapContext = node.getContext(OhosPluginId.OHOS_HAP_PLUGIN) as OhosHapContext;

        // 通过上下文对象获取从module.json5文件中读出来的obj对象

        const moduleJsonOpt = hapContext.getModuleJsonOpt();

        // 修改obj对象为想要的,此处举例修改module中的deviceTypes

        moduleJsonOpt[‘module’][‘abilities’][0][‘icon’] = “$media:app_icon”;

        // 将obj对象设置回上下文对象以使能到构建的过程与结果中

        hapContext.setModuleJsonOpt(moduleJsonOpt);

    }

})

export default {

    system: hapTasks,  /* Built-in plugin of Hvigor. It cannot be modified. */

    plugins:[]         /* Custom plugin to extend the functionality of Hvigor. */

}

你说的"编译过程" 应该是指 build app包的过程吧.
如果是这个过程, 是可以通过多目标产物的特性, 动态提供app名称, 图标啥的.(可以一个鸿蒙工程打包出多个app)


具体参考:
https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-multi-target-V5

HarmonyOS 鸿蒙Next 编译过程中可以修改桌面图标

在HarmonyOS 鸿蒙Next的编译过程中,确实可以修改桌面图标。以下是具体操作步骤:

  1. 准备新图标:确保新图标符合鸿蒙系统的图标规范,通常应为PNG格式,并准备好不同屏幕密度的图标文件。
  2. 替换图标文件:在项目中找到原图标所在位置,通常是src/main/res/mipmap目录或其对应的资源目录。将新图标文件替换到该位置,确保新图标文件名与旧图标一致,以便直接覆盖。
  3. 更新配置文件:如果使用鸿蒙特定的开发结构,如AppScope或entry文件夹,需要在module.json5或app.json5文件中更新icon字段为新图标的名称。
  4. 重新编译并打包:完成上述步骤后,重新编译并打包应用。新的桌面图标将在应用安装后显示。

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

回到顶部