鸿蒙 PC 命令行工具迁移实战 · 内部课件(详细配套版)

内部培训用讲义,结构与《鸿蒙 PC 命令行移植直播大纲(90 分钟)》一致;侧重知识点展开、命令与流程。


0. 参考资料索引[猫哥的博客--鸿蒙PC专栏]

0.1 文档与正文对应关系

序号 文件名 对应正文位置
1 鸿蒙PC命令行移植直播大纲.md 全书章节划分与时长
2 鸿蒙PC命令行移植直播讲稿(90分钟).md 节奏与演示提示(可选)
3 鸿蒙PC生态三方软件移植:开发环境搭建及三方库移植指南.md §1.3、§4.3:WSL/源、build 脚手架、hnp.jsonhnpclidependency.json、HNP→HAP、pthread 与签名示例
4 移植FFmpeg最新 8.1版本到鸿蒙PC(OpenHarmony)平台完整指南.md §2.1:交叉参数、sysroot、HNP、性能与优化
5 低成本搭建鸿蒙PC运行环境:基于 Docker 的 x86_64 服务器.md §1.2、§4.2:binfmt、镜像、docker cp、Neovim/axel 验证
6 使用 vcpkg 为鸿蒙(HarmonyOS OHOS)下载与安装三方库实践指南.md §2.3:fork、triplet、FAQ、OpenSSL 补丁思路、curl 与签名
7 HarmonyOS鸿蒙三方库移植:选 vcpkg 还是 lycium_plusplus?....md §2.2、§2.3、§五:对照与选型
8 鸿蒙PC平台三方库移植,使 Lycium移植pngquant的实践总结.md §2.2、§三:HPKBUILD、PKG_CONFIG_LIBDIR、pngquant configure
9 使用 vcpkg 将 pngquant 命令行移植到鸿蒙 PC.md §2.3、§三:port、pngquant[core]
10 HarmonyOS OpenHarmony 鸿蒙PC平台三方库移植,AI自动化编译框架build_in_harmonyos介绍及使用.md §2.5:OpenDesk、ohc-run、知识库、门禁、Gotchas、cmd-pkgs

0.2 各文档在本课件中的侧重(速览)

  • 鸿蒙 PC 生态指南 :Ubuntu 24 ubuntu.sources、Master 全量 SDK 示例、/data/service/hnpbuild 脚手架、tree 的 build_ohos.sh / hnp.jsonbuild.sh 分支逻辑、build_dependency.pydependency.json、HNP→HAP→签 hap、pthread 与 binary-sign-tool
  • FFmpeg 指南hnp.jsoninstall 字段、PKG_CONFIG 与 lib 路径变量、性能对比表(拓展讲解用)。
  • Docker 低成本鸿蒙PC环境:Docker Desktop 多架构、binfmt 重启后须重注册、镜像加速域名(按单位网络策略选用)。

一、开场与环境构建(15 分钟)

1.1 背景与目标

生态背景 (见《鸿蒙PC生态三方软件移植指南》)

  • 鸿蒙向 PC 全场景 延伸后,把 Linux/macOS/Windows 侧海量开源软件迁到鸿蒙 PC 成为生态突破口。
  • 命令行/原生工具链是 CI、资源管线、开发者工具、系统组件 的共同底座。

案例选择:命令行 + pngquant

  • 命令行 是最小可运行单元,演示与验证成本低(--version、批处理图片)。
  • pngquant :GPL-3.0-or-later;2.x 为 C ,依赖 libpng、zlib、lcms2,可串联「依赖解析 → 交叉编译 → 签名 → 部署验证」。

学习目标

  1. 说明 Windows / WSL / 云主机 / 鸿蒙 PC / Docker 容器 在流程中的分工。
  2. 对比 直连交叉 / Lycium / vcpkg-ohos 的适用边界。
  3. 掌握 pngquant:编出产物、处理依赖与签名、在容器或真机上验证、知晓社区侧提交要点。
  4. 了解 build_in_harmonyos 等「可复现构建 + 归档与分发」类工具的定位(与手工脚本的区别)。

1.2 多维度环境(详细可操作)

A. Windows 宿主
  • 安装 DevEco StudioHarmonyOS / OpenHarmony SDK(与命令行交叉共用同一套 NDK、签名工具、文档入口)。
  • 图形化便于管理 SDK 版本;编译脚本建议在 WSL 或 Linux 云主机执行(路径、脚本兼容性更好)。
B. WSL(Ubuntu 22.04 / 24.04)

为何选用 WSL

  • Linux 服务器、CI 环境一致;cmake/make/git/pkg-config 文档最全。
  • 离 Windows 编辑器近,适合「本机编辑 + WSL 编译」。

Ubuntu 22.04:阿里源示例

bash 复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list
# 将 jammy 源改为 mirrors.aliyun.com 等(见原文 deb 块)
sudo apt-get update && sudo apt-get upgrade

Ubuntu 24.04:注意源文件位置变更

  • 官方源配置在 /etc/apt/sources.list.d/ubuntu.sources (不再依赖大块 sources.list)。
  • 可换 清华 / 中科大 / 阿里 / 网易Types: deb + URIs + Suites: noble noble-updates noble-security + Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg)。
  • 修改后:sudo apt-get update && sudo apt-get upgrade -y

基础包

bash 复制代码
sudo apt install -y python3 python3-pip git cmake ninja-build make pkg-config
# FFmpeg 文还提到:automake libtool

可选:将 python 默认指向 python3

bash 复制代码
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1
C. 云服务器 x86_64
  • 成本低、网络稳、适合 vcpkg 全量编译、FFmpeg 长任务
  • 与 WSL 使用同一套文档命令即可。
D. 鸿蒙 PC 本机(概念要点)
主题 要点
工具链 SDK 内 LLVM/Clang ,链接常用 lld
libc 与桌面 glibc 差异语境下常强调 Musl(具体以 SDK/系统为准)
安全 可执行文件与部分 .so签名校验;未签名常见「无权限 / operation not permitted」类现象
验证 hdc 推送、LD_LIBRARY_PATH、与容器行为对照
E. Docker 鸿蒙容器(低成本 x86_64)

目标 :在 无 ARM 真机 时,得到 arm64 用户态 + OpenHarmony PC 轻量环境,用于跑命令行、测加载。

Windows Docker Desktop

  • Settings → Docker Engine 可增加国内 mirror,例如:
json 复制代码
"registry-mirrors": ["https://docker.1ms.run"]
  • 拉取与运行(示例):
bash 复制代码
docker run --name=ohos -itd --platform linux/arm64 hqzing/docker-mini-openharmony:latest
docker exec -it ohos sh
  • 若本机不能直接跑 arm64 容器,可先执行:
bash 复制代码
docker run --rm --privileged tonistiigi/binfmt --install arm64

Linux x86_64 服务器

  1. 安装 Docker CE(可用国内一键脚本,选华为云源 + 毫秒镜像等)。
  2. 注册 QEMU arm64:
bash 复制代码
docker run --rm --privileged docker.1ms.run/tonistiigi/binfmt --install arm64
ls /proc/sys/fs/binfmt_misc/qemu-aarch64   # 确认 enabled
  1. 拉取镜像(可加加速前缀):
bash 复制代码
docker run --name=ohos -itd --platform linux/arm64 docker.1ms.run/hqzing/docker-mini-openharmony:latest
docker exec -it ohos sh

宿主机 ↔ 容器拷贝

bash 复制代码
docker cp ./pngquant ohos:/root/
docker cp ohos:/root/log.txt ./

容器内验证示例

  • 可下载预编译 ohos-neovim 或自编译 axel ,对比 curlaxel 的下载耗时(演示用)。

1.3 脚手架与 HNP 标准化(《鸿蒙PC生态三方软件移植...指南》)

与「只产出裸二进制」并列的一条路径:按 OpenHarmony 习惯打 Native 包(HNP)并进入后续分发链路

SDK 准备(示例链接与解压步骤)
bash 复制代码
cd ~
# 以下为文中示例 URL;实际使用请以 OpenHarmony 官网/版本站当前包名为准
wget https://cidownload.openharmony.cn/version/Master_Version/ohos-sdk-full_ohos/20250819_020817/version-Master_Version-ohos-sdk-full_ohos-20250819_020817-ohos-sdk-full_ohos.tar.gz
tar -zvxf version-Master_Version-ohos-sdk-full_ohos-20250819_020817-ohos-sdk-full_ohos.tar.gz
cd ~/ohos-sdk/linux
unzip native-linux-x64-6.0.0.46-Beta1.zip
unzip toolchains-linux-x64-6.0.0.46-Beta1.zip
  • ~/ohos-sdk/linux 全路径 即后续 --sdk / OHOS_SDK 所指根目录(版本号以实际包为准)。
HNP 安装目录
bash 复制代码
sudo mkdir -p /data/service/hnp
sudo chmod 777 -R /data/service/hnp
下载构建脚手架 build
bash 复制代码
cd ~
git clone git@gitcode.com:OpenHarmonyPCDeveloper/build.git
cd ~/build/code/
git clone git@gitcode.com:OpenHarmonyPCDeveloper/cmdtree.git -b master   # 以 tree 为例
部件路径规则
  • 规则:${HNP_PUBLIC_PATH}/<部件名>.org/<部件名>_<版本号>
  • 例:.../tree.org/tree_2.2.1
build_ohos.sh 要点(tree 示例)
  • 设置 TREE_INSTALL_HNP_PATH,临时改 PREFIX 指向 HNP 安装根。
  • make / make installcp hnp.json 到安装目录。
  • 调用 hnpcli packtar 出分发包(与 FFmpeg 文 hnpcli pack 同源能力)。
hnp.json 最小示例(tree)
json 复制代码
{
  "type": "hnp-config",
  "name": "tree",
  "version": "2.2.1",
  "install": {}
}
  • FFmpeg 文的 hnp.json 则包含 install.bins / install.libs,可按部件实际填写。
顶层 ./build.sh --sdk <path>(要点)
  • 解析 --sdk ,设置 OHOS_SDK
  • 根据 uname 结果 分支:
    • OpenHarmony :本机工具链 OHOS_TOOL_CHAIN_PATH
    • HarmonyOS :本机 HMOS_TOOL_CHAIN_PATHHNP_PERFIX
    • 其他(Linux 等)交叉 ${OHOS_SDK}/native/llvm/bin/
  • 统一导出:CC/CXX/LD/AR/...SYSROOTPKG_CONFIG_*HNP_TOOLohos.toolchain.cmakeTARGET_PLATFORM=aarch64-linux-ohosCFLAGS(含 -D__MUSL__=1 -D__OHOS__--target--sysroot-fuse-ld)等。
  • BUILD_BY_DEPENDENCY 为 true 时走 python build_dependency.py :读 dependency.jsongit clone → 各仓 ./build_ohos.sh
dependency.json(多仓协作)
json 复制代码
{
  "name": "tree",
  "branch": "2.2.1_ohos",
  "url": "git@gitcode.com:OpenHarmonyPCDeveloper/cmdtree.git"
}
  • 多部件时维护多条 dependency;改目标库时主要改此 JSON
Native 分发链(须讲清的步骤)
  1. 源码/二进制按规范装入目录 + hnp.json
  2. hnpcli pack → 得到 .hnp
  3. 将 hnp 打入 hap
  4. 签名 hap
    (详细链路与图示见生态指南;深入可读 OpenHarmony appspawnservice/hnp/README_zh.md

二、核心驱动:三种路径与辅助工具(35 分钟)

2.1 传统方式:直接交叉工具链

适用场景
  • 依赖极少,或需要逐项控制编译/链接参数时采用;FFmpeg 一类案例适合用来讲清 sysroot、--target、lld 与裁剪模块。
FFmpeg 8.1 关键挑战(可列表对比)
挑战 对策摘要
Clang 与 GCC 差异 全套换 llvm- * 工具与 lld
Musl 与 glibc -D__MUSL__=1-D__OHOS__ 等按工程实践注入
缺失图形栈 --disable-vulkan--disable-libdrm 等先关再迭代
交叉路径 --sysroot--target=aarch64-linux-ohosPKG_CONFIG_* 指向 sysroot 下 abi 目录
环境变量模板(FFmpeg 指南与脚手架脚本中的常见写法)
bash 复制代码
export OHOS_SDK="/path/to/ohos-sdk/linux"
export COMPILER_TOOLCHAIN=${OHOS_SDK}/native/llvm/bin
export SYSROOT=${OHOS_SDK}/native/sysroot
export TARGET_ARCH="aarch64-linux-ohos"   # 或 FFmpeg 文中的 TARGET 写法

export CC="${COMPILER_TOOLCHAIN}/clang"
export CXX="${COMPILER_TOOLCHAIN}/clang++"
export AR="${COMPILER_TOOLCHAIN}/llvm-ar"
export LD="${COMPILER_TOOLCHAIN}/ld.lld"
configure 记忆块(FFmpeg)
text 复制代码
--target-os=linux
--arch=aarch64
--enable-cross-compile
--cc="$COMPILER_TOOLCHAIN/clang"
--cxx="$COMPILER_TOOLCHAIN/clang++"
--sysroot="$SYSROOT"
--extra-cflags="--target=aarch64-linux-ohos -fPIC -D__MUSL__=1 -D__OHOS__ -fstack-protector-strong"
--extra-ldflags="--target=aarch64-linux-ohos --sysroot=$SYSROOT -fuse-ld=lld -L$LIB_PATH"
--enable-shared --disable-static
--disable-vulkan --disable-libdrm
HNP 打包(FFmpeg 指南与脚手架流程)
bash 复制代码
cp hnp.json $INSTALL_PREFIX/
${OHOS_SDK}/toolchains/hnpcli pack -i $INSTALL_PREFIX -o ./output/
小结
  • 依赖增多后,手工维护交叉脚本易导致 CI 不可复现 ;应引入 vcpkg、Lycium 或团队脚手架 之一做规范化承载。

2.2 进阶方式:Lycium / lycium_plusplus(大纲「Lycim」= Lycium)

框架定位(见 vcpkg 与 lycium_plusplus 对比一文)
  • 依赖树 自动解析、prepare→build→package→archive、多架构循环、HNP设备侧 HPKCHECKexternal_deps/module.json 外仓拉取。
  • 仓库结构(数量级以仓为准):lycium/thirdparty/community/external_deps/module.json
入口对照
脚本 场景
./build.sh Linux/macOS/Cygwin 上 交叉 为主
./build_local.sh 鸿蒙 PC 本机 :uname 以 Harmo 开头时走本机 clang
pngquant(Lycium 适配要点)
内容
版本 2.18.0(示例)
协议 GPL-3.0-or-later
依赖 libpng、zlib、lcms2;git clone --recursive(libimagequant)
buildtools configure(勿误设为 cmake)
关键 export export PKG_CONFIG_LIBDIR="${pkgconfigpath}"
configure --with-libpng=--with-lcms2--disable-sse--extra-cflags--extra-ldflags
编译命令 ./build.sh zlib libpng lcms2 pngquant
产物 lycium/usr/pngquant/<ARCH>/bin/pngquant(以 PREFIX 为准)
常见问题(Lycium 适配)
现象 原因 处理
libpng not found PKG_CONFIG_LIBDIRexport 按文修正
路径不一致 pngroot 与实际 usr/<pkgname>/<ARCH> 不符 改 HPKBUILD
makedepends 填库名 Lycium 用 which命令 库只放 depends

2.3 现代方式:vcpkg-ohos

背景(Qt 官方博文与 vcpkg 鸿蒙实践)
  • Qt 将 HarmonyOS 纳入 vcpkg,目标:一条命令替代「每库手写 shell」。
  • 上游 vcpkg-tool 未识别 ohos 前 须用 Qt fork ohos 分支 自编译 vcpkg 可执行文件。
资源链接
说明 URL
Qt 博文 https://www.qt.io/blog/building-libraries-for-harmonyos-with-vcpkg
Qt vcpkg / vcpkg-tool https://git.qt.io/jobor/vcpkghttps://git.qt.io/jobor/vcpkg-tool
社区聚合仓(示例) https://gitcode.com/OpenHarmonyPCDeveloper/ohos_vcpkg
搭建步骤(浓缩)
  1. git clone -b ohos vcpkg-tool → cmake+ninja 编译出 vcpkg
  2. git clone -b ohos vcpkg registry → cp vcpkg-tool/build/vcpkg ~/vcpkg/
  3. export VCPKG_ROOT=~/vcpkg
  4. export OHOS_SDK_ROOT=... 且存在 native/build/cmake/ohos.toolchain.cmake
triplet 表
Triplet ABI
arm64-ohos arm64-v8a
arm-ohos armeabi-v7a
x64-ohos x86_64
  • 注意:动态库无版本后缀 soname 策略 → 打包与升级需团队约定。
安装示例
bash 复制代码
vcpkg install --triplet arm64-ohos libpng zlib
vcpkg install pngquant:arm64-ohos
vcpkg install 'pngquant[core]:arm64-ohos'   # 去掉 lcms2 特性
CMake 接入
bash 复制代码
cmake -S . -B build \
  -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake \
  -DVCPKG_TARGET_TRIPLET=arm64-ohos
常见问题(vcpkg OHOS)
  • GitHub 超时 :预置 tarball 到 downloads/ghfast.top 等镜像(合规自选);VCPKG_DOWNLOADS_URL_TEMPLATE 等。
  • zip: not found :装 zip;否则仅二进制缓存失败,库已安装仍可用
  • Could not find OHOS SDK :检查 OHOS_SDK_ROOT
  • OpenSSL x86 asm 混进 OHOS :portfile 里 VCPKG_TARGET_IS_OHOS + no-asm + no-sse2 + vcpkg_cmake_get_vars 同步 --target
  • 真机运行 curlbinary-sign-tool 签名各 .so 与可执行文件。
pngquant port 技术点(vcpkg 鸿蒙仓)
主题 结论
REF vs tag REF 用 commit SHA ;annotated tag 用 FETCH_REF
submodule vcpkg 树无 .git第二次 vcpkg_from_git 拉 libimagequant 再 RENAMElib/
CMake 坑 禁止 $ENV{ProgramFiles(x86)} 破坏 Linux 解析
SSE VCPKG_CROSSCOMPILING 时传 --disable-sse
Rust 3.x port 多为 native ,OHOS 交叉首选 C 2.18.0 port

2.4 编辑器与排错实践(Cursor、Trae 等)

建议做法

  • 收集材料时附上:完整编译/链接报错 、当前使用的 脚本或 port 片段OHOS_SDK_ROOT / VCPKG_ROOT 、目标 triplet架构名
  • 适合交给工具辅助的环节:交叉参数对齐、portfile / HPKBUILD 差异草稿、对照官方 FAQ 的核对清单、签名命令中路径占位符填充。
  • 合并前须人工核对DESTDIR 与安装前缀、是否误链到宿主机的 /usr/libPKG_CONFIG_* 是否指向 sysroot 或 Lycium 前缀;自动化输出不能替代本地一次干净构建验证。

2.5 build_in_harmonyos 自动化编译框架

双仓
仓库 作用
build_in_harmonyos OpenDesk Skill、ohc-run.py、软件档案 archives、错误知识库 knowledge/graph
cmd-pkgs 预编译 tar.gz + install.sh 管道安装
先决条件
  • OpenHarmony aarch64 设备、模拟器或鸿蒙 PC;Python 3.12+;git;clang。
一键向导
bash 复制代码
wget https://gitcode.com/OpenHarmonyPCDeveloper/build_in_harmonyos/releases/download/init/setup_wizard.sh && \
  chmod 777 ./setup_wizard.sh && \
  ./setup_wizard.sh
  • 向导负责:在 hishell 等环境下补齐权限与路径前提;配置 Git/SSH;安装 OpenDesk CLI;写入 PATHTMPDIRCMAKE_PREFIX_PATHLD_LIBRARY_PATH;注册本仓库 Skill。细节见项目内 SKILL.md 与 setup 说明。
OpenDesk 指令示例(摘自项目文档)

加载编译 SKILL 编译 tree ... 子任务分工 ... 完成后做质量检查 ...

编译主流程(十三步概览)

初始化 → 补丁 → 预扫描 → configure → make → make install DESTDIR → 安全弹窗测试 → make check(可超时跳过)→ staging → package(含签名等) → 安装到 ~/usr/local 模拟 → 用户验证 → finish + G0--G4 门禁

鸿蒙 Gotchas(速查表)
问题 对策
/tmp 只读 TMPDIR 指到 $HOME
软链覆盖 rm -f && ln -s
ELF 未签名 ohc-run.py sign-elf / binary-sign-tool
无 gcc CC=clang
ncurses .so 崩溃 考虑 --without-shared 静态化等
质量门禁 G0~G4(摘要)
  • G0 :干净构建;G1 :产物完整;G2 :功能;G3 :可移植、签名、rpath;G4:档案闭合。

三、深度实操:pngquant 全过程(20 分钟)

3.1 源码与构建系统认知

  • configure :上游 Bash 自写,不是 Autoconf 巨型脚本。
  • Makefilemake 会进 lib/ 构建 libimagequant
  • 跨平台 :头文件路径、pkg-config禁用 SSE、Musl/GNU 扩展按报错迭代。

3.2 编译产物(双路径对照)

§2.2、§2.3;现场演示可只跑一条路径,另一条用表格对照讲解。

3.3 签名

《鸿蒙PC生态...指南》示例(路径按本机 SDK 调整)

bash 复制代码
../../ohos-sdk/linux/toolchains/lib/binary-sign-tool sign -inFile "a.out" -outFile "a.out.signed" -selfSign "1"

vcpkg curl 示例(多文件)

bash 复制代码
binary-sign-tool sign -inFile libz.so -outFile libz.so -selfSign "1"
binary-sign-tool sign -inFile libcrypto.so.3 -outFile libcrypto.so.3 -selfSign "1"
binary-sign-tool sign -inFile libssl.so.3 -outFile libssl.so.3 -selfSign "1"
binary-sign-tool sign -inFile libcurl.so -outFile libcurl.so -selfSign "1"
binary-sign-tool sign -inFile curl -outFile curl -selfSign "1"
chmod +x curl

要点

  • 可执行文件 及其依赖的 .so 在真机策略下通常需一并签名并部署到可访问路径。
  • 签名后仍须核对 LD_LIBRARY_PATH工作目录rpath 是否一致。

四、结果验证与提交(15 分钟)

4.1 真机(hdc)

  • 推送 pngquant 与依赖 .so 到约定目录。
  • 执行:./pngquant --version;对样张执行压缩并对比 体积/观感
  • pthread hello (见《鸿蒙PC生态...指南》):未签名会出现权限类错误;签名后再经 hdc shell 验证。

4.2 Docker 容器验证

  • 复用 §1.2 E :binfmt + 镜像 + docker cp
  • 检查:缺库、ldd/readelf、与真机差异记录。

4.3 提交与规范

路线 提交物
Lycium / tpc HPKBUILD、补丁、README.OpenSource、校验、日志
vcpkg fork portfiletriplet、上游友好补丁说明
生态脚手架 dependency.json 登记 url/branch;部件仓内 build_ohos.sh + hnp.json
build_in_harmonyos 归档 manifest、notes、patches、reports;PR 分区与主编审核流程
  • 大二进制不进源码仓:交配方与脚本;制品走 release/制品库。
  • 参考:签名与 hdc 操作见《鸿蒙PC生态...指南》内链;社区交流:https://harmonypc.csdn.net/

五、总结与 Q&A(5 分钟)

5.1 方案总览对照表

方式 核心抽象 长处 短处
直连交叉 手搓 flags 掌控力强 依赖多时脚本与 CI 难维护
Lycium++ HPKBUILD + HNP + 设备测 贴近 OpenHarmony 分发与测试链 学习成本、仓库治理
vcpkg-ohos triplet + port 与 CMake/Qt 衔接顺 fork 过渡期;签名与 HNP 常需自建后半段
build 脚手架 dependency.json + build_ohos 团队内统一出 HNP/tar 与上游 port 生态并行,边界需约定
build_in_harmonyos OpenDesk Skill、知识库、ohc-run.py 归档、恢复编译、预编译包联动 依赖本机/模型服务与网络环境

5.2 收尾要点

  • 能编译通过 ≠ 能交付运行:签名、库加载路径、HNP/HAP 规范往往占同样多精力。
  • 工程上应以 可复现构建(固定 SDK 版本、固定 triplet、记录脚本与补丁)为验收标准,减少「单机偶然编过」带来的返工。

5.3 社区与参考


附录 A:SDK 包体来源对照

参考文档 SDK 包类型 / 说明
FFmpeg 指南 Daily 示例 URL(cidownload.openharmony.cn
vcpkg 指南 同域示例;校验 native/build/cmake/ohos.toolchain.cmake 是否存在
鸿蒙 PC 生态指南 Master 全量 ohos-sdk-full 示例(文件名与日期以当时下载页为准)

版本提示:演示或录制前在 OpenHarmony 官网或版本站核对当前推荐包名,避免沿用文中过期直链。


附录 B:常用命令备忘

bash 复制代码
# Lycium pngquant
cd lycium && ./build.sh zlib libpng lcms2 pngquant

# vcpkg pngquant
export OHOS_SDK_ROOT=... && export VCPKG_ROOT=...
$VCPKG_ROOT/vcpkg install pngquant:arm64-ohos

# Docker OHOS
docker run --rm --privileged docker.1ms.run/tonistiigi/binfmt --install arm64
docker run --name=ohos -itd --platform linux/arm64 docker.1ms.run/hqzing/docker-mini-openharmony:latest
docker exec -it ohos sh

# OpenHarmonyPCDeveloper/build 脚手架
cd ~/build && ./build.sh --sdk /path/to/ohos-sdk/linux

# 查看 ELF 头
$OHOS_SDK_ROOT/native/llvm/bin/llvm-readelf -h ./libxxx.so

附录 C:开讲环境检查清单

  • WSL 或云机:cmake make git python3 可用
  • OHOS_SDK_ROOT / OHOS_SDK 路径与 ohos.toolchain.cmake 存在
  • vcpkg:vcpkg 二进制为 ohos 分支编译产物
  • Lycium:./build.sh zlib 已通过或缓存产物
  • 容器:镜像可拉取、binfmt 已注册
  • 真机:hdcbinary-sign-tool 路径确认
  • 演示用 PNG 样张 1~2 张
相关推荐
廖松洋(Alina)1 小时前
04极速划词页面实现-鸿蒙PC端Electron开发
华为·electron·开源·harmonyos·鸿蒙
轻口味2 小时前
HarmonyOS 6.1 全栈实战录 - 07 极速连接:Remote Communication Kit (RCP) 实战与认证挑战深度解析
华为·harmonyos
想你依然心痛2 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与Face AR & Body AR的“灵犀康养“——PC端沉浸式AR智能康复训练系统
华为·ar·harmonyos·悬浮导航·沉浸光感
廖松洋(Alina)2 小时前
03主入口页面与导航结构-鸿蒙PC端Electron开发
前端·javascript·华为·electron·开源·harmonyos·鸿蒙
廖松洋(Alina)2 小时前
09词根分解与水印展示-鸿蒙PC端Electron开发
前端·javascript·华为·electron·开源·harmonyos·鸿蒙
音视频牛哥2 小时前
大牛直播SDK(SmartMediaKit)鸿蒙NEXT同屏RTMP推流与轻量级RTSP服务集成实践指南
华为·harmonyos·大牛直播sdk·鸿蒙next无纸化同屏·鸿蒙next rtmp推流·鸿蒙next rtsp服务器·鸿蒙next无纸化会议
xmdy58662 小时前
Flutter + 开源鸿蒙实战|城市智慧停车管理系统 Day4 停车订单生成+多状态管理+在线缴费+我的订单+会员中心+个人中心完善
flutter·开源·harmonyos
xmdy58662 小时前
Flutter + 开源鸿蒙实战|城市智慧停车管理系统 Day8 进阶美化与真机调优篇
flutter·华为·harmonyos
Swift社区2 小时前
鸿蒙 PC vs Web:谁才是未来应用形态?
前端·华为·harmonyos