5 月 23 日,全栈工程师、CSDN 嵌入式领域博客专家猫哥(杨永贞)进行开源鸿蒙 PC 直播分享。本次直播以  pngquant(典型 C 语言项目,依赖 libpng/zlib/lcms2)为实战案例,完整演示了从环境搭建 → 源码适配 → 交叉编译 → 文件签名 → 真机验证的全流程闭环。

一、环境搭建:五位一体怎么配

猫哥梳理了鸿蒙 PC 开发所需的五种环境(Windows 宿主WSL、虚拟机 Linux、云服务器、鸿蒙 PC 本机、Docker 容器),逐一说明了各自的核心定位和关键优势。他特别提醒了几个容易忽略的平台约束:SDK 内置 LLVM/Clang 工具链、底层 Musl C 库与 glibc 的差异、以及强制签名机制对可执行文件和动态库的运行限制。

环境

核心定位

关键优势

Windows 宿主(WSL)

管理 DevEco Studio 与 SDK

图形化管理,开发活动基础资源库

虚拟机 Linux

本地主要编译终端

环境一致性高,与 Windows 集成便捷

云服务器(x86_64)

执行全量编译任务

7×24 运行,不占用本地资源,资费便宜

鸿蒙 PC 本机

最终运行验证平台

LLVM/Clang 工具链,严格安全签名校验

Docker 容器

准生产级沙盒环境

低成本快速验证,排查库加载/权限/签名问题

二、方案选型:三条路怎么选

结合自身移植经验,猫哥对比分析了三种主流迁移路径的优劣和适用场景:

  • 直接交叉工具链:掌控力强但维护成本高,适合小工具和教学场景,FFmpeg 移植就是典型案例

  • Lycium 编译框架:规模化移植的首选,HPKBUILD 文件能自动解析依赖树,但对团队规范意识有要求

  • vcpkg-ohos:CMake/Qt 项目的福音,单命令安装很香,但分支过渡期需要额外适配精力

他不仅讲清了各方案的优劣,还给出了明确的选型建议:小工具用手动、规模化用 Lycium、CMake 项目用 vcpkg。

图片

三、AI 提效:怎么用好 AI 辅助

猫哥分享了自己使用 AI 辅助移植的四步法:上下文输入 → 任务聚焦 → 知识沉淀 → 人工审核。他强调 AI 的价值在于“压缩信息检索和反复试错的时间”,而非替代对交叉编译原理的理解。他还推荐了 Cursor、Claude Code、DeepSeek 等工具,以及团队自研的 build_in_harmonyos 智能化编译框架。

图片

四、实战演示:pngquant 怎么搬

整场直播的高潮,是猫哥现场以 pngquant 为案例的完整实操演示:

  • 源码适配:他指出了三个关键注意点——依赖路径控制、ARM 架构兼容性(disable-sse)、子模块完整性

  • 编译验证:他演示了两种方案的编译入口,并强调必须用 llvm-readelf 验证产物架构

  • 签名环节:他揭秘了"编译通过却跑不起来"的元凶——鸿蒙 PC 强制签名机制,并现场演示了签名工具的使用

  • 机验证:他展示了 hdc 工具推送文件、配置环境变量、执行功能测试的完整流程,以及无真机时 Docker 容器的替代验证方案

图片

五、经验沉淀:提交时要注意什么

直播最后,猫哥分享了代码仓提交的社区规范:提交「配方与补丁」而非 build 目录全量拷贝、必须提供 README.OpenSource 声明许可证、禁止将大型二进制文件提交至源码仓。他还区分了 Lycium 系和 vcpkg 系的不同提交路径。

图片

猫哥带来的鸿蒙 PC 三方库迁移实战分享,从环境搭建、方案选型到 AI 提效,以 pngquant 完整演示了移植全流程。开发者带走的是可复用的环境方案、清晰的选型地图和一份避坑指南。鸿蒙 PC 生态正在扩展,选对路径、对齐约束,每位开发者都能成为生态建设的贡献者。正如猫哥所说:“只要这个库在原理上能移植,它最终一定能移植成功。”

📹 直播回放:

https://weixin.qq.com/sph/AJfBa5lIwG

📄 直播课件(详细教案):

https://blog.csdn.net/qq8864/article/details/161091519

💬 社区动态:

https://harmonypc.csdn.net/

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐