HarmonyOS 鸿蒙Next 编译过程中是否可以修改桌面图标
HarmonyOS 鸿蒙Next 编译过程中是否可以修改桌面图标
可以参考:
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的编译过程中,确实可以修改桌面图标。以下是具体操作步骤:
- 准备新图标:确保新图标符合鸿蒙系统的图标规范,通常应为PNG格式,并准备好不同屏幕密度的图标文件。
- 替换图标文件:在项目中找到原图标所在位置,通常是src/main/res/mipmap目录或其对应的资源目录。将新图标文件替换到该位置,确保新图标文件名与旧图标一致,以便直接覆盖。
- 更新配置文件:如果使用鸿蒙特定的开发结构,如AppScope或entry文件夹,需要在module.json5或app.json5文件中更新icon字段为新图标的名称。
- 重新编译并打包:完成上述步骤后,重新编译并打包应用。新的桌面图标将在应用安装后显示。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。