
摘要
现在的应用开发里,一个好记、好看的名字和图标,不仅能让用户第一眼就记住你,还能在应用市场里提升辨识度。在 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 应用"
}
]
}
操作流程:
- 找到
module.json5
中的"label"
字段,它是应用名字的入口。 "label"
通常会引用string.json
里的某个name
(比如$string:app_name
)。- 在
string.json
里修改"value"
就能改名字,比如改成"超级笔记"
。 - 重新编译运行,图标下的文字就变了。
更换应用图标
图标在 HarmonyOS 中是放在 resources/base/media
目录下的,不同分辨率会放在不同子目录(media
、media-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"
操作流程:
- 找到
resources/base/media
下的app_icon.png
。 - 用同名的 PNG 图标替换它(建议使用 512x512 或更高分辨率)。
- 如果有多分辨率目录(
media-xxxhdpi
等),也替换对应版本的图标。 - 确保文件名和
module.json5
里的"icon"
一致。 - 编译运行,新图标就生效了。
结合实际场景的应用示例
场景一:测试版与正式版名字区分
有些时候,你需要让测试版和正式版在设备上同时安装,这时就要改名字和图标。
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.json
和 media
目录来区分打包。
比如:
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
目录
你可以用这个方法快速实现不同版本区分、节日换肤、多品牌共用等功能,而且步骤非常直观,不需要改底层代码。 在实际开发里,这种小改动的频率很高,掌握之后能大大提升你的打包和上线效率。