一、背景与概述

HarmonyOS 在 PC 端的适配意义

        HarmonyOS 作为分布式操作系统,向 PC 端扩展具有以下价值:

  • 生态扩展:打破设备边界,实现手机、平板、PC 等多终端无缝协同。

图片来自于华为鸿蒙 6 PC 消费者官网 https://consumer.huawei.com/cn/harmonyos-computer/harmonyos-6/

  • 开发效率提升:开发者可在 PC 端直接调试和验证跨设备功能,降低多平台适配成本。
  • 技术验证:为未来桌面级应用场景(如生产力工具)提供底层支持。

        

命令行环境在开发中的重要性        

  • 高效操作:命令行工具(如 hdc)支持快速执行设备管理、日志抓取等底层操作。
  • 自动化集成:可通过脚本批量完成编译、部署、测试流程,适合 CI/CD 环境。
  • 调试支持:直接访问系统级接口,便于排查分布式通信、性能等问题

本文目标:搭建开发环境并验证功能

主要是从 OpenHarmony OS 每日构建 CI 中获取 Mac 的 SDK,并且搭建在 Mac 中进行鸿蒙 PC 命令行应用的开发环境。

我们可以在以下链接看到开源鸿蒙系统及其 SDK 的每日构建情况
https://ci.openharmony.cn/workbench/cicd/overview/dailybuild

二、环境搭建准备

  • 硬件要求(支持的 PC 配置)
    • 本次分享是基于 MacBook Pro M4

  • 软件依赖(操作系统版本、工具链)
    • Python 3.9.x 及以上
    • pip / pip3 21.2.4 及以上
  • 获取 HarmonyOS PC 开发套件(SDK/工具包)

    三、安装开发工具链

    • 下载并配置 Python 及 pip

          

    • 安装 HarmonyOS Mac SDK        
    📦 1.准备 SDK

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

     mkdir ~/ohos-sdk
    
     tar -zvxf 20251213021144-L2-SDK-MAC-M1-FULL.tar.gz -C ~/ohos-sdk

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

    unzip native-darwin-arm64-6.1.0.22-Canary1.zip 
    
    unzip toolchains-darwin-arm64-6.1.0.22-Canary1.zip 
    
    
    mv native ~/ohos-sdk
    
    mv toolchains ~/ohos-sdk

    📁 2.初始化目录结构
    mkdir ~/HarmonyOSPC
    cd ~/HarmonyOSPC
    
    mkdir -p HarmonyOSPC/data/service/hnp
    chmod -R 777 HarmonyOSPC/data/service/hnp
    
    

    🛠️ 3.下载构建脚手架
    git clone git@gitcode.com:OpenHarmonyPCDeveloper/build.git
    
    

    🧭 4.配置 HNP 公共资源路径

    配置环境变量(PATH、开发工具路径)

    #export HNP_PUBLIC_PATH=${HNP_PERFIX}/Users/{您的用户名}/HarmonyOSPC/data/service/hnp
    
    export HNP_PUBLIC_PATH=${HNP_PERFIX}/Users/yaoshengwei/HarmonyOSPC/data/service/hnp
    注意这里有坑!!!

    这个环境变量 HNP_PUBLIC_PATH 在 build.sh 脚本里也有 改正,或者注释掉,用你自己电脑里的位置进行配置

    5.克隆后的本地代码结构

    以  cmdtree 的源码结构举例

    当前的 code 目录里的文件情况

    (base) yaoshengwei@192 code % pwd
    /Users/yaoshengwei/HarmonyOSPC/build/code
    (base) yaoshengwei@192 code % tree
    .
    └── cmdtree
        ├── build_ohos.sh
        ├── CHANGES
        ├── color.c
        ├── doc
        │   ├── global_info
        │   ├── tree.1
        │   └── xml.dtd
        ├── file.c
        ├── filter.c
        ├── hash.c
        ├── hnp.json
        ├── html.c
        ├── info.c
        ├── INSTALL
        ├── json.c
        ├── LICENSE
        ├── list.c
        ├── Makefile
        ├── README
        ├── strverscmp.c
        ├── TODO
        ├── tree.c
        ├── tree.h
        ├── tree.lsm
        ├── unix.c
        └── xml.c
    
    3 directories, 25 files
    

    🔧 鸿蒙化适配关键点
    // strverscmp.c 中增加鸿蒙平台
    #if !defined(__linux__) || defined(__ANDROID__) || defined(__OHOS__)

    四、命令行工具编译

    🎯 1.指定构建目录

    在文件  build/build.sh 中找到  BUILD_BY_DEPENDENCY 改为 false

    ~/HarmonyOSPC/build/build.sh

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

    🚀 2.执行编译与打包
    cd ~/HarmonyOSPC/build
    ./build.sh --sdk /Users/yaoshengwei/ohos-sdk

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

    总结与扩展

    如果您对鸿蒙感兴趣欢迎参加我的共学课程

    https://edu.csdn.net/course/detail/40825

    并考取开发者认证证书

    https://developer.huawei.com/consumer/cn/training/classDetail/a23831c901814ad5a874553abc65ca93

    Logo

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

    更多推荐