鸿蒙 PC Electron 又添一员实战大将——读《厨房里的化学》上架记的几点收获
鸿蒙 PC Electron 又添一员实战大将——读《厨房里的化学》上架记的几点收获
欢迎加入开源鸿蒙 PC 社区:https://harmonypc.csdn.net/
写在前面
最近在 CSDN 上读到一篇让我眼前一亮的文章:
《厨房里的化学生态用鸿蒙 PC 的 Electron 框架实现——上架操作全流程》
作者:红目香薰(CSDN)
链接:https://blog.csdn.net/feng8403000/article/details/161547810
读完之后我做了一件事——立刻去华为应用市场搜了一下"厨房里的化学",结果是真的能搜到、能下载、能装上。然后我又把链接、源码仓库、AGC 上架流程对照了一遍,越读越觉得这事值得专门写一篇文章推荐。
所以这篇博文我想做两件事:
- 认真推荐这位老哥的工作——理由后面展开
- 借这次机会,把我自己 IronLog 上架时积累的经验也整理出来,跟他的文章合在一起读,能给后来者一份更完整的上架地图
不是单纯转发,是把一份已经在跑的事做成对社区更长期有用的产出。
一、为什么这位老哥的工作值得推荐
1. 应用真的上架了,这件事本身就稀缺
去华为应用市场搜"厨房里的化学",能搜到、能下载、能装上。bundleName 是 com.chufang.electron_pro,应用市场链接:
https://appgallery.huawei.com/app/detail?id=com.chufang.electron_pro
听起来好像是一件平淡的事——一个应用上架。但你把范围限制到"鸿蒙 PC + Electron 框架",这个清单至今还很短。
我自己做了 11 个适配项目(10 个 Qt + 1 个 Electron Demo),公开上架的只有 1 个(IronLog)。社区里反复推荐的 KeeWeb 适配那篇也很有价值,但 KeeWeb 实际上没有上架华为应用市场,只是"跑通在自己设备上"。
跑通 ≠ 上架。
跑通是技术问题;上架还要再过:签名、隐私协议、应用描述、5 张截图、审核打回再修、再提交。
这中间至少要再扔出 1-2 天时间,且每一步都有"卡审"风险。
所以每一个真的进了应用市场、能被普通用户搜到下载的 Electron 应用,对社区来说都是一个证据点:这条路是通的。红目香薰老师把这件事做到了——光这一点就值得点赞。
2. 选题选得真好
“厨房里的化学”——把美拉德反应、酶促褐变、乳化、酯化、酸碱反应这些化学概念,做成可视化、可互动的虚拟实验室。面向中学生和化学爱好者。
这个选题至少有 4 个优点:
| 优点 | 体现 |
|---|---|
| 不撞已有市场 | 鸿蒙应用市场里同类几乎没有 |
| 教育属性强 | 审核相对友好、有正向社会价值 |
| 离线即可使用 | 不涉及隐私/数据合规复杂度 |
| 纯前端能撑 | HTML5 + CSS3 + JS + localStorage,符合 Electron 鸿蒙适配的"轻量友好"路径 |
这才是适合 Electron 适配的选题模板——单机、轻量、内容驱动、无后端、无 native 依赖。
后面我会专门展开讲,为什么选题这件事比技术更重要。这位老哥在选题这一步就赢了一半。
3. 文章给出了关键的"避坑信号"
仔细读他的文章,我提炼到 3 个非常有价值的实战信号——都是只有真做过上架的人才知道的细节:
信号一:「存储路径不要有中文」
这条铁律。签名/Profile 配置时如果路径带中文,DevEco 内部的 hap-sign-tool(Java 实现)会有解析问题。听过的人省 2 小时,没听过的人卡 2 小时——红目香薰在文章里明确点出来了。
信号二:「审核指南第 3.5 项是高频打回原因」
他在文章里提到:
这种问题特别正常,经常会出现,只需要慢慢的深挖项目即可,完善功能后重新上传。
并附了官方文档链接:developer.huawei.com/consumer/cn/doc/app/50104-03。
这条信号特别珍贵——很多教程教你怎么"提交",但没人告诉你"被打回怎么办"。他用一句"特别正常"安抚了所有第一次上架时被打回会慌的开发者。
信号三:「本地应用无需备案」
这句话看似简单,但对没上架过的人来说就是一个心理炸弹的拆除。我做 IronLog 上架前,光"是不是要备案"这个问题就纠结了半天,最后查到不需要——红目香薰在文章里直接点出来,省了后来者很多焦虑。
4. 配套了完整的应用介绍文案模板
他文章里还附了一份长达 600 字的应用介绍文案模板——讲应用概述、核心功能、技术特点、使用场景、目标用户的结构都齐全。
应用描述这件事对程序员来说是最反技能的环节——你能写 1000 行代码但写不出 100 字让用户看了想下载的描述。有他这份模板可以照着改,至少能省 1-2 小时的"对着空白文本框发呆"。
5. 持续输出能放大单次工作的价值
红目香薰老师的 CSDN 主页履历:
- 码龄 9 年
- 原创 2690 篇
- 粉丝 6 万+
- 鸿蒙 PC 专栏 61 篇
61 篇是什么概念?平均一周一篇。社区里大部分人最多写 5-10 篇就停了。
持续输出 > 单篇质量。这是社区运营的铁律。这位老哥把这件事做到了——他不是"做一次就跑"的过客,是真的在鸿蒙 PC 社区里持续耕耘的开发者,是值得长期关注的社区力量。

二、跟着这位老哥的脚步走——上架经验补完
读完文章后我做了件事——把他文章里给出的"操作路径"+ 我自己 IronLog 上架时的"踩坑笔记"合并起来,整理成一份两人经验合并版的上架地图,分享给后续要做这件事的朋友。
下面这套流程,是红目香薰老师的文章脉络 + 我自己实战补充的细节,两位实战开发者的经验合在一起。
阶段 1:选题决定 80% 难度(30 分钟思考)
很多人跳过这步直接干。但选题决定了你后面 80% 的难度。
鸿蒙 PC Electron 上架友好选题清单:
| 友好程度 | 选题类型 | 例子 |
|---|---|---|
| ⭐⭐⭐⭐⭐ | 单机科普 / 教育 | 厨房里的化学 ←、化学元素周期表、天文常识 |
| ⭐⭐⭐⭐⭐ | 工具计算(无网) | 单位换算、几何作图、数独 |
| ⭐⭐⭐⭐ | 单机笔记 / 备忘 | 番茄钟、便签、todo |
| ⭐⭐⭐ | 简单游戏 | 扫雷、2048、五子棋 |
| ⭐⭐ | 网络应用 | RSS 阅读、API 调试 |
| ⭐ | 涉及隐私 | 通讯录、日历同步 |
| ❌ | 涉及录屏 / 系统级权限 | 远程桌面、剪贴板增强 |
| ❌ | 涉及音视频解码(需要 spawn) | 视频剪辑、字幕制作 |
红目香薰老师的选题就在最友好那一档——这不是巧合,是聪明。
阶段 2:跑通基础 Demo(1-2 天)
这块我之前的文章已经写过了,参见仓库:
简而言之三步:
-
下载新版 libelectron(双模块包,含
electron主模块 +web_engineHSP) -
把 web 应用(
main.js/preload.js/index.html/package.json)放到:web_engine/src/main/resources/resfile/resources/app/ -
改三处:签名清空让 DevEco 自动签 / bundleName 改成自己的 / 应用名改可识别
跑通后能看到窗口,能加载页面,才进入"上架准备"。
阶段 3:bundleName 命名(5 分钟,但容易错)
这块红目香薰老师给的样例是 com.chufang.electron_pro——是一个很好的命名范本:主域 + 产品名 + 后缀结构清晰。
bundleName 命名规则(从他的 com.chufang.electron_pro + 我 IronLog com.ironlog.assist 综合):
格式:com.<公司或个人域>.<产品名>[_后缀]
✅ com.chufang.electron_pro # 红目香薰老师的
✅ com.ironlog.assist # 我的
✅ com.xxx.markdown # 通用
❌ com.example.demo # example 域不允许上架
❌ com.huawei.xxx # huawei 命名空间不允许
❌ com.demo.test # 一看就是没改
❌ com.user.app # user 命名空间不允许
关键提醒:bundleName 一旦上架,后续版本必须保持不变。第一次取名要慎重——别用 demo / test / user / example / huawei 这些保留命名空间。
阶段 4:签名配置(30 分钟 - 2 小时)
红目香薰老师把这一段拆成了 8 个清晰步骤,我把每步实际操作展开说一下,给视觉学习型读者一份手把手版本——
4.1 登录 AGC 拿 Profile
https://developer.huawei.com/consumer/cn/service/josp/agc/
- 用华为开发者账号登录(个人或企业都行,个人就够)
- 进入 AppGallery Connect → 我的项目 → 新建项目
- 项目名随便取,包名要和 bundleName 一致
4.2 生成 .csr(证书签名请求文件)
两个方法:
# 方法 A:用 DevEco 的 Build → Generate Key and CSR
# (推荐,零门槛,自动放对路径)
# 方法 B:用 keytool 手动
keytool -genkeypair -alias ohos -keyalg RSA -keysize 2048 \
-validity 9125 -keystore mykey.p12 -storetype pkcs12
keytool -certreq -alias ohos -keystore mykey.p12 -file mykey.csr
4.3 在 AGC 用 .csr 换证书
AGC → 我的项目 → API 管理 → HarmonyOS 应用 → 证书管理 → 新增证书 → 上传 csr → 下载 .cer
4.4 在 AGC 新建 Profile
AGC → HarmonyOS 应用 → Profile 管理 → 新增 Profile → 选刚才的 .cer → 下载 .p7b
4.5 把 4 个文件全部拖到 DevEco
mykey.p12 # 私钥
mykey.csr # 签名请求(可丢)
应用名.cer # 证书
应用名.p7b # Profile
关键铁律(红目香薰老师明确点出的):
存储路径不要有中文
原因:DevEco 内部的 hap-sign-tool(Java 实现)对中文路径有解析问题。把所有签名文件放到一个纯英文路径,比如:
/Users/dev/ohos-sign/com.chufang.electron_pro/
而不是:
/Users/dev/桌面/鸿蒙签名/
4.6 在 build-profile.json5 配 signingConfigs
{
"name": "default",
"type": "HarmonyOS",
"material": {
"certpath": "/abs/path/to/应用名.cer",
"keyAlias": "ohos",
"keyPassword": "*****",
"profile": "/abs/path/to/应用名.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "/abs/path/to/mykey.p12",
"storePassword": "*****"
}
}
签名其实不难,但第一次做的人 90% 卡在这里——因为这 4 个文件的对应关系如果没人手把手讲就容易乱。红目香薰老师的步骤清单 + 我的细节展开,合在一起就是一份完整的签名教程。
阶段 5:HAP 打 Release 包
DevEco → Build → Build Hap(s)/APP(s) → Build APP(s)
注意是 Build APP(s)(双 P,输出 .app)不是 Build Hap(s)(输出 .hap)。AGC 上架要的是 .app。
输出位置:
build/outputs/default/
└─ com.chufang.electron_pro-default.app
阶段 6:上传 AGC + 填资料(1-3 小时)
红目香薰老师这部分流程写得清楚,我就不重复了,补几个他文章可能因为篇幅没展开的小贴士:
| 资料项 | 贴士 |
|---|---|
| 应用图标 | 1024×1024 PNG,无透明背景,圆角不要自己加(系统会加) |
| 应用截图 | 必须 5 张,分辨率 ≥ 1920×1080,横屏截图(鸿蒙 PC 是横屏设备) |
| 应用介绍 | 推荐 200-500 字。红目香薰老师的文章里就有一份现成模板可以照着改——这是非常宝贵的资源 |
| 隐私说明 | 必须填——即使你的应用完全不联网,也要写一句"本应用不收集用户数据" |
| 备案 | 本地应用不需要备案(红目香薰老师明确点出,这条直接拆除心理炸弹) |
阶段 7:审核 + 应对打回
红目香薰老师在这一节点了"第 3.5 项问题"的名,他说"特别正常,经常会出现"——这句话很关键。我顺着这条线,把我自己 IronLog 上架时第一次被打回的真实案例补一下,给后来者一个更具体的参照。
鸿蒙应用市场审核指南第 3.5 项原文(链接:developer.huawei.com/consumer/cn/doc/app/50104-03):
3.5 应用应该具备完整的功能,不应出现功能未完成、占位符、demo 字样、点击无反应等情况。
这条是 Electron 适配最容易栽的地方。为什么?因为:
- ⚠️ 你的应用可能"在 Mac/Win 上跑得好好的功能",到鸿蒙上某个按钮不响应了——你自己测试覆盖不到
- ⚠️ 鸿蒙 Electron 不支持某些 Web API(getUserMedia、Notification、剪贴板)——按钮点了没反应
- ⚠️ 你的应用有 TODO 占位文字——审核会逐字看,连"待开发"都会被标记
我 IronLog 上架第一次被打回的真实原因:
一个"导出 PDF"按钮点了没反应。
因为 IronLog 在鸿蒙 PC 上没接上 PDF 库,但按钮没禁用。
审核员点了一次没反应,按 3.5 项打回。
对策(按重要性排序):
- 真机自测每一个按钮——你的 Mac/Win 版别和鸿蒙版是同步开发的,真机一定要重新过一遍
- 禁用所有未完成功能的按钮——
disabled + tooltip "鸿蒙 PC 暂不支持",比"点了报错"友好得多 - 去掉所有 TODO / 待开发 / coming soon 字样——即使在不显眼的角落
- 检查 Web API 兼容——参考 Electron 适配 FAQ 第 17 条
被打回不要慌——就像红目香薰老师说的,“特别正常,经常会出现”。改完重新提交,平均 1-3 天会再过一轮。我 IronLog 一共打回了 3 次,第 4 次过。
三、这件事让我想明白的几件事
读完这篇文章+复盘自己的 IronLog 上架经历,我有几个新的体会——
启发 1:选题就该是"轻"的
“厨房里的化学”——选题轻、功能边界清晰、纯前端能撑。
我做 IronLog 的时候,业务功能塞了太多(导出、配置、自定义模板……),结果在鸿蒙 PC 上每个功能都要重测,被打回 3 次。
如果让我重做一次,我会先做一个 30% 功能版上架。先过审拿到"已上架"标签,再用版本迭代慢慢补功能。红目香薰老师"先做一个完整闭环再上架"的思路,比我当时"什么功能都不想砍"要聪明。
启发 2:上架是流程活,不全是技术活
技术上把 Demo 跑通,只占整个上架工作量的 30%。剩下 70% 是:
- 签名文件准备(30 分钟看着像 30 秒,真做要 2 小时)
- 5 张截图制作(每张做"看起来不水"花的时间比你想的多)
- 应用描述文案打磨(要让用户在应用市场刷过去时停下来)
- 隐私协议 / 服务条款撰写
- 审核打回应对(这是个心理战,得能接受被打回 3-5 次)
很多技术人卡在"上架"上,不是技术不行,是不愿意做这些"非技术"的事。红目香薰老师从头到尾走完了——这种"把流程跑通"的耐心,本身就是稀缺品质。
启发 3:每一篇上架记录都是社区的资产
国内做鸿蒙 PC 适配的开发者还很少。我做了 11 个项目、写了 50 多篇博文——这个量在社区里已经算"多产"了。但每次去看华为应用市场,真的能找到鸿蒙 PC 版的应用还是寥寥。
每多一个真上架的应用 + 一篇上架记录,对社区来说都是一份"路是通的"的证据。
红目香薰老师做了这件事,并且写下来了——他的文章和他的应用,本身就是社区的资产。
四、如果你看完想去做,几条建议
按重要性排:
1. 先去他的 AtomGit 仓库读源码
https://atomgit.com/Math_teacher_fan/chufanglidehuaxue
对照着读文章 + 仓库源码,能学到的远比单看文章多——文章是骨架,仓库是血肉。我做 IronLog 之前也是这样学习别人项目的——好开发者都会顺手 clone 别人的成功案例。
2. 选一个轻量级、教育/工具/科普类选题
不要做:
- ❌ 视频剪辑(涉及子进程、ffmpeg)
- ❌ 截图录屏(涉及系统权限)
- ❌ 通讯录 / 日历(涉及隐私合规)
- ❌ 远程控制 / 协作工具(涉及网络 + 权限)
做:
- ✅ 化学 / 物理 / 数学 / 天文 / 历史 科普(厨房里的化学就是教科书级别样例)
- ✅ 单机 todo / 番茄钟 / 笔记
- ✅ 单机计算器 / 单位换算 / 几何作图
- ✅ 简单单机游戏(扫雷 / 数独 / 2048)
3. 把上架当成一个完整项目做,不要边做边想
预留时间表:
| 阶段 | 时间 |
|---|---|
| Demo 跑通 | 1-2 天 |
| 业务功能开发 | 3-7 天 |
| 鸿蒙真机适配 + UI 调整 | 2-3 天 |
| 签名配置 + AGC 资料 | 1 天 |
| 应用描述 / 5 张截图 | 1 天 |
| 第一次提交 + 等审核 | 2-3 天 |
| 应对打回 × N 轮 | 3-7 天 |
| 总计 | 2-3 周 |
不要骗自己"周末就能搞定"。就像红目香薰老师那样——把整个过程认真走完一遍。
4. 关注红目香薰老师的鸿蒙 PC 专栏
他的鸿蒙 PC 专栏已经有 61 篇了。"厨房里的化学"只是其中一篇。如果你想深入做鸿蒙 PC 开发,这个专栏是值得长期跟读的高质量信息源。
CSDN 主页:https://blog.csdn.net/feng8403000
鸿蒙 PC 专栏:CSDN 主页 → 专栏 → 鸿蒙 PC
五、给社区的话
国内做鸿蒙 PC 适配的开发者还很少。每多一个真上架的应用,对社区来说都是一份"路是通的"的证据。
红目香薰老师做了这件事——技术上跑通、流程上过审、上架到应用市场,而且认真写下来了。这件事本身就值得推荐、值得记录、值得被更多后来者看到。
希望未来这样的"上架记录"越来越多。每一篇都是给下一位开发者点的一盏灯。
如果你也在做类似的事,别等到完美了再动手。先做一个 30% 功能的版本上架。后面慢慢迭代。
一句话总结:红目香薰老师不仅做出来了,还认真写下来了——这两件事任意做到一件已经不容易,他都做到了。
附录 A:相关文章导航
外部参考:
| 来源 | 内容 |
|---|---|
| 红目香薰老师原文(CSDN) | 厨房里的化学生态用鸿蒙 PC 的 Electron 框架实现——上架操作全流程 |
| 应用市场入口 | 厨房里的化学(应用商店) |
| 项目源码(AtomGit) | atomgit.com/Math_teacher_fan/chufanglidehuaxue |
| 审核指南第 3.5 项 | developer.huawei.com/consumer/cn/doc/app/50104-03 |
| 鸿蒙 PC 社区 | harmonypc.csdn.net |
| 红目香薰老师 CSDN 主页 | blog.csdn.net/feng8403000 |
附录 B:上架检查清单(可打印)
打印贴在显示器侧面,每提交一次审核前过一遍。这一份清单是红目香薰老师文章 + 我 IronLog 上架经验整合出来的:
□ bundleName 不含 example / huawei / demo / test / user
□ 应用名不含"测试""Demo""试用"字样
□ 签名文件路径全英文(红目香薰老师铁律)
□ build-profile.json5 的 signingConfigs 路径都是绝对路径
□ build 输出的是 .app 不是 .hap
□ AGC 项目名和 bundleName 完全一致
□ 真机自测每一个按钮(不是 Mac/Win 版!是鸿蒙 PC 版!)
□ 所有未完成功能的按钮已 disabled
□ 全工程搜过 "TODO" / "待开发" / "敬请期待" / "coming soon"
□ 应用描述不出现"基于 Electron""移植自"等技术词
□ 隐私说明已填写(哪怕只有一句"不收集数据")
□ 5 张截图准备好,分辨率 ≥ 1920×1080
□ 应用图标 1024×1024 PNG,无透明背景,无自加圆角
□ 心理预期:会被打回 1-3 次(参考红目香薰老师"特别正常"的提示)
□ 时间预期:从提交到过审平均 5-10 天
写在最后
这篇推荐文有点长。但我想说的核心其实就一句:
每一个真的上架的鸿蒙 PC 应用、每一篇认真写下来的上架记录,都是社区的资产。
红目香薰老师做到了。下一个应该是你或者我。
更多推荐




所有评论(0)