🍎 HarmonyOS PC 命令行适配指南(Mac 版)

快速完成 HarmonyOS PC CLI 适配,从环境准备到打包发布一步到位。


🐍 安装 Python 环境(若已安装可跳过)

  1. 前往 Python 官网下载页面 获取 Python 3.9 安装包并完成安装。
    image-20251113120817131

  2. 验证安装:

    • 执行 python --version

    • 若提示 zsh: command not found: python,改用 python3 --version。若正常显示 Python 3.9.13,再执行:

      sudo ln -s /usr/local/bin/python3.9 /usr/local/bin/python
      
  3. 安装 pip(Python 包管理工具):

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python3 get-pip.py
    pip3 --version
    

    image-20251113140916630


📦 准备 SDK

每日构建找到适配的 SDK 下载链接,执行以下命令进行下载与解压:

wget https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_6.0.0.37/20250819111110/20250819111110-L2-SDK-MAC-M1-FULL.tar.gz
tar -zvxf 20250819111110-L2-SDK-MAC-M1-FULL.tar.gz -C ~/ohos-sdk

image-20251113145259388

随后将 darwin 目录下的压缩包拷贝到 ohos-sdk 目录,并解压 native-*.ziptoolchains-*.zip

unzip native-darwin-arm64-6.0.0.46-Beta1.zip
unzip toolchains-darwin-arm64-6.0.0.46-Beta1.zip

📁 初始化目录结构

mkdir -p HarmonyOSPC/data/service/hnp
chmod -R 777 HarmonyOSPC/data/service/hnp

🛠️ 下载构建脚手架

mkdir ~/HarmonyOSPC
cd ~/HarmonyOSPC
git clone git@gitcode.com:OpenHarmonyPCDeveloper/build.git

🧭 配置 HNP 公共资源路径

export HNP_PUBLIC_PATH=${HNP_PERFIX}/Users/baixm/HarmonyOSPC/data/service/hnp

🌳 获取示例源码(以 tree 为例)

mkdir ~/HarmonyOSPC/build/code
cd ~/HarmonyOSPC/build/code
git clone git@gitcode.com:OpenHarmonyPCDeveloper/cmdtree.git -b master

🧩 调整本地代码结构

tree 的源码结构举例

.
├── CHANGES
├── INSTALL
├── LICENSE
├── Makefile
├── README
├── TODO
├── build_ohos.sh // 增加该文件
├── hnp.json // 增加该文件
├── color.c
├── doc
│   ├── global_info
│   ├── tree.1
│   └── xml.dtd
├── file.c
├── ...
└── xml.c

⚙️ 新增 ohos_build.sh

部件安装目录遵循 ${HNP_PUBLIC_PATH}/<部件名称>.org/<部件名称>_<版本号> 规则,例如 ${HNP_PUBLIC_PATH}/tree.org/tree_2.2.1

export TREE_INSTALL_HNP_PATH=${HNP_PUBLIC_PATH}/tree.org/tree_2.2.1

sys_prefix=${PREFIX}
export PREFIX=${TREE_INSTALL_HNP_PATH}
echo "${PREFIX}"

make clean
make VERBOSE=1
make install

cp hnp.json ${TREE_INSTALL_HNP_PATH}/
pushd ${TREE_INSTALL_HNP_PATH}/../
    ${HNP_TOOL} pack -i ${TREE_INSTALL_HNP_PATH} -o ${ARCHIVE_PATH}/
    tar -zvcf ${ARCHIVE_PATH}/ohos_tree_2.2.1.tar.gz tree_2.2.1/
popd

export PREFIX=${sys_prefix}

📄 新增 hnp.json

{
    "type":"hnp-config",
    "name":"tree",
    "version":"2.2.1",
    "install":{}
}

🔧 鸿蒙化适配关键点

// strverscmp.c 中增加鸿蒙平台
#if !defined(__linux__) || defined(__ANDROID__) || defined(__OHOS__)
# Makefile 中 prefix 改为变量未被显式赋值时使用默认值
PREFIX?=/usr/local

🎯 指定构建目录

# 将按依赖构建的标志设置为 false
BUILD_BY_DEPENDENCY="false"
# 指定构建的具体目录,比如 tree 组件
SPECIFIC_DIR="tree"

🚀 执行编译与打包

cd ~/HarmonyOSPC/build
./build.sh --sdk /Users/baixm/ohos-sdk

编译后的产物位于 ~/HarmonyOSPC/build/output/,可直接用于创建发行版。

image-20251113173645368

image-20251113173756799


📚 更新仓库依赖信息

最后补充构建信息到仓库的 dependency.json 中:

{
    "name" : "tree",
    "branch" : "2.2.1_ohos",
    "url" : "git@gitcode.com:OpenHarmonyPCDeveloper/cmdtree.git"
}

这样就完成适配了。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐