【鸿蒙开发进阶】第20篇:工程化实战:多环境、包体积优化与上线检查清单
·
📚 鸿蒙进阶专栏 · 第 20 篇 / 共 20 篇(进阶篇 11-20)
上一篇:性能与调试 | 下一篇:(系列完结 · 后续专题按投票更新)
工程化实战:多环境、包体积优化与上线检查清单
目录
完结篇。入门篇教你「跑起来」,进阶 10 篇教你「做得好」。最后一篇补上企业项目必备的工程化能力,并送一份上线前检查清单。

一、多环境配置:一套代码三套地址
// 根目录 build-profile.json5
{
"app": { ... },
"products": [
{ "name": "dev", "signingConfigs": [...], "buildOption": {...} },
{ "name": "prod", "signingConfigs": [...], "buildOption": {...} }
]
}
// 代码里区分:用编译选项或自定义常量文件
// common/Env.ets
export const ENV = 'dev' // 打包时按产品切换
export const BASE_URL = ENV === 'dev'
? 'https://test-api.example.com'
: 'https://api.example.com'
💡 更优雅的方案是把 BASE_URL 放进 HAR 共享包,配合 DevEco 的 product 切换,打包命令一条搞定。
二、包体积优化四连
| 手段 | 收益 | 做法 |
|---|---|---|
| 图片压缩/WebP | 最立竿见影 | 上线图全走 WebP,单图 < 100KB |
| 动态加载 import() | 首包瘦身 | 非首页功能延迟加载 |
| 代码混淆 | 体积 + 安全 | release 打开 minifyEnabled |
| HSP 动态共享包 | 多模块去重 | 公共业务放 HSP 而非复制 |
三、上线前检查清单(可直接抄)
□ release 签名打包,且已真机安装验证
□ 所有 user_grant 权限的 reason 描述与实际一致
□ 隐私政策 URL 可访问,首启有同意弹窗
□ 弱网/无网提示完整(不该白屏的地方都处理了)
□ 深色模式没有白字白底
□ 关键路径埋点已接入(AGC 或自建)
□ 崩溃监控已接入,能收到符号化堆栈
□ 应用图标、截图、简介按 AGC 规范重制
□ 测试账号已填入 AGC 审核资料
四、进阶 10 篇知识地图(完结总结)
| 能力 | 篇目 |
|---|---|
| 组件复用与通信 | 11 |
| 状态管理全景 | 12 |
| 数据持久化 | 13 |
| Navigation 导航 | 14 |
| 异步与并发 | 15 |
| 三层架构 | 16 |
| 动效体系 | 17 |
| 权限与合规 | 18 |
| 性能调试 | 19 |
| 工程化与上线 | 20 |
五、系列完结,下一步?
20 篇走完,你已经具备独立开发并上架一个完整鸿蒙 App 的能力。评论区投票点播下一季主题:
1. 鸿蒙分布式:应用接续、跨端流转
2. 元服务:轻量级服务卡片开发
3. C++/Native 开发:音视频与游戏
4. 实战项目:从 0 做一个上架级笔记 App
点赞最高的先写,我们下一季见。
进阶系列持续更新中,点赞 + 收藏 + 关注不迷路。
遇到问题评论区贴报错信息 + 关键代码,看到都会回。也欢迎留言点播你想看的进阶主题。
更多推荐



所有评论(0)