HarmonyOS 开发实战:搞定应用名字与图标更换,全流程可运行示例

摘要

现在的应用开发里,一个好记、好看的名字和图标,不仅能让用户第一眼就记住你,还能在应用市场里提升辨识度。在 HarmonyOS 的应用开发中,更改应用名字和图标其实并不复杂,只要掌握正确的文件位置和配置方法,就能快速完成。本文会用非常接地气的方式,从原理到实战,带你一步步改出一个"自己的"应用名字和图标,并给出可运行的 Demo 示例,让你在几分钟内完成这项"高颜值优化"。

引言

过去在 Android 上,改应用名字和图标主要依赖 AndroidManifest.xml 和资源文件,而在 HarmonyOS 中,我们用的是 module.json5(以及资源目录 resources)来配置。 实际开发中,你可能会遇到这些场景:

  • 项目初期用的是临时名字,现在要改成正式的产品名。
  • 图标初版设计比较粗糙,正式版需要替换成高质量、统一风格的图标。
  • 一个应用要打多个渠道包,需要不同名字和图标区分版本(比如测试版、内测版、正式版)。

下面我会结合实际项目,直接给你代码和步骤,让你边看边改。

更改应用名字

在 HarmonyOS 项目里,应用名字主要是在 module.json5 和资源文件里配置的。

代码示例

假设我们项目结构是这样:

csharp 复制代码
entry/
 ├── module.json5
 └── src/main/resources/base/element/string.json

module.json5 示例:

json5 复制代码
{
  "module": {
    "name": "entry",
    "type": "entry",
    "label": "$string:app_name",
    "icon": "$media:app_icon",
    "description": "$string:app_desc"
  }
}

string.json 示例:

json 复制代码
{
  "string": [
    {
      "name": "app_name",
      "value": "我的鸿蒙应用"
    },
    {
      "name": "app_desc",
      "value": "这是一个支持快速改名和换图标的 Demo 应用"
    }
  ]
}

操作流程:

  1. 找到 module.json5 中的 "label" 字段,它是应用名字的入口。
  2. "label" 通常会引用 string.json 里的某个 name(比如 $string:app_name)。
  3. string.json 里修改 "value" 就能改名字,比如改成 "超级笔记"
  4. 重新编译运行,图标下的文字就变了。

更换应用图标

图标在 HarmonyOS 中是放在 resources/base/media 目录下的,不同分辨率会放在不同子目录(mediamedia-xxxhdpi 等)。

代码示例

假设我们的项目路径:

css 复制代码
entry/
 ├── src/main/resources/base/media/app_icon.png
 ├── src/main/resources/base/media-xxxhdpi/app_icon.png

module.json5 中:

json5 复制代码
"icon": "$media:app_icon"

操作流程:

  1. 找到 resources/base/media 下的 app_icon.png
  2. 用同名的 PNG 图标替换它(建议使用 512x512 或更高分辨率)。
  3. 如果有多分辨率目录(media-xxxhdpi 等),也替换对应版本的图标。
  4. 确保文件名和 module.json5 里的 "icon" 一致。
  5. 编译运行,新图标就生效了。

结合实际场景的应用示例

场景一:测试版与正式版名字区分

有些时候,你需要让测试版和正式版在设备上同时安装,这时就要改名字和图标。

json5 复制代码
// module.json5
"label": "$string:app_name_beta"
json 复制代码
// string.json
{
  "string": [
    {
      "name": "app_name_beta",
      "value": "超级笔记(测试版)"
    }
  ]
}

这样用户就不会混淆两个版本。

场景二:节日主题图标

有的应用会在节日换个应景的图标,比如春节时换成带灯笼的小图标。

json5 复制代码
"icon": "$media:app_icon_spring"

只要在 media 目录放上 app_icon_spring.png,就能实现节日氛围。

场景三:多品牌共用代码

如果你做的项目是多品牌共用一套代码,可以用不同的 string.jsonmedia 目录来区分打包。

比如:

bash 复制代码
resources/brand_a/string.json
resources/brand_a/media/app_icon.png

resources/brand_b/string.json
resources/brand_b/media/app_icon.png

在打包时切换 resources 源目录,就能生成不同品牌的包。

QA 环节

Q1:更改名字和图标后,应用市场需要重新审核吗? A:是的,大多数市场会把它当作一次新版本发布,需要走提审流程。

Q2:图标有推荐尺寸吗? A:推荐主图标用 512x512 PNG,然后导出多分辨率版本放到不同目录。

Q3:更名后安装包能覆盖旧版本吗? A:如果包名(bundleName)没变,是可以覆盖的;如果改了包名,就会并存安装。

总结

在 HarmonyOS 中改应用名字和图标,其实就是两个地方:

  • 名字:module.json5 + string.json
  • 图标:module.json5 + media 目录

你可以用这个方法快速实现不同版本区分、节日换肤、多品牌共用等功能,而且步骤非常直观,不需要改底层代码。 在实际开发里,这种小改动的频率很高,掌握之后能大大提升你的打包和上线效率。

相关推荐
幽蓝计划3 小时前
HarmonyOS元服务开发系列教程(三):实现音乐播放和封面旋转
华为·harmonyos
zhanshuo4 小时前
HarmonyOS 开发实战:快速更改应用名字与图标的终极指南
harmonyos
沉淀风飛5 小时前
鸿蒙Next 性能优化总结
harmonyos
量子位7 小时前
华为诺亚首席研究员,也具身智能创业了
ai编程·harmonyos
旭宇7 小时前
HarmonyOs中使用Navigation路由跳转的完整示例
harmonyos
li理11 小时前
鸿蒙应用本地数据库导出与查看指南
harmonyos
li理11 小时前
HarmonyOS 鸿蒙 本地数据库开发实战指南:从原理到封装
harmonyos
xo1988201112 小时前
鸿蒙Des 加密解密 C++版本
c++·华为·harmonyos
HarmonyOS小助手13 小时前
【上新啦】HarmonyOS官方模板优秀案例 (第2期:新闻行业 · 综合新闻)
harmonyos·鸿蒙·鸿蒙生态