跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

OpenHarmony 工具适配:tree 2.2.1 交叉编译与 HNP 打包

OpenHarmony PC 生态拓展中,Linux 命令行工具适配是关键环节。以 tree 2.2.1 为例,基于 Cursor 与 WSL Ubuntu 24.04 环境,详解从 SDK 配置、交叉编译到 HNP 打包的全流程。通过构建脚本编写与依赖管理,实现开源软件高效融入鸿蒙生态,提供可复现的技术方案。

岁月神偷发布于 2026/1/23更新于 2026/7/2032 浏览
OpenHarmony 工具适配:tree 2.2.1 交叉编译与 HNP 打包

OpenHarmony Linux 命令行工具适配实战:基于 Cursor × WSL 的 tree 2.2.1 交叉编译与 HNP 打包

前提准备

通过 Microsoft Store 安装 WSL Ubuntu 24.04:打开微软应用商店,搜索 Ubuntu 并选择最新长期支持版本安装,完成后从开始菜单启动对应终端即可。

WSL Ubuntu 24.04 系统迁移与重构

  1. 管理员身份运行 Windows PowerShell 后,先通过 wsl --shutdown 关闭所有 WSL 实例,再强制终止 wslhost 和 wslservice 相关进程,忽略终止失败的错误,等待 30 秒确保进程完全停止,最后用 wsl -l -v 查看当前 WSL 分发版的列表及运行状态。
  2. 使用.tar 格式备份系统。
  3. 注销原系统释放 C 盘空间。
  4. 导入系统到 D 盘。
  5. 恢复默认用户。
  6. 验证迁移结果。

Linux 开发环境初始化与依赖配置

  1. 更换 APT 软件源清华源。
  2. 更新软件包。
  3. 安装 Python 环境。

OpenHarmony SDK 获取、安装与环境配置

  1. 下载 OpenHarmony SDK。
  2. 解压 SDK 包。
  3. 解压核心组件。
  4. 创建鸿蒙软件包安装目录。
  5. 获取构建工具,下载鸿蒙构建脚手架。
  6. 源码准备与适配,下载 tree 命令鸿蒙适配版源码。
  7. 创建适配配置文件,进入源码目录,添加两个关键适配文件 hnp.json 配置文件和 build_ohos.sh 编译脚本。
  8. 赋予脚本执行权限,完成基于 Windows 的 WSL 适配鸿蒙 PC 的 Linux 命令行环境配置流程。

OpenHarmony 工具链验证与编译测试

  1. 环境验证,在开始编译前,需要验证鸿蒙工具链的完整性。
  2. 编译环境测试,创建测试程序验证交叉编译环境 hello_ohos.c。
  3. 使用鸿蒙工具链编译(用 OpenHarmony SDK 的 clang 交叉编译 hello_ohos.c,指定 aarch64-OHOS 目标平台、SDK sysroot 路径及 OHOS 宏,生成适配 OpenHarmony 的可执行文件)。
  4. 验证生成文件。
  5. 环境验证成功:输出显示为 ARM aarch64 架构的鸿蒙可执行文件,证明交叉编译环境已正确配置。开始编译,回到 build 根目录,执行编译命令。

基于 Cursor / VS Code 的鸿蒙适配开发实践

  1. 在 WSL 终端中快速在 Windows 中打开 build 文件夹。
  2. Cursor 集成开发环境配置:在 VS Code 中打开脚手架文件夹,选择终端为 WSL: Ubuntu-24.04,切换到 WSL 终端进行开发。

OpenHarmony PC 适配:tree 2.2.1 交叉编译与 HNP 打包

  1. 修改 build.sh 需要构建的命令行组件名称(OpenHarmony 组件构建初始化脚本,需通过 --sdk 指定 SDK 路径并校验有效性,根据运行系统配置编译工具链与 HNP 相关目录,检查 Python 环境并提供安装指引,导出编译工具、编译选项及构建相关路径等环境变量,创建必要目录后,默认执行 code/cmdtree 目录下的 build_ohos.sh 构建组件,也可通过 BUILD_BY_DEPENDENCY=true 按 dependency.json 构建依赖组件)。
  2. code/cmdtree/hnp.json 鸿蒙原生包配置(tree 组件的 HNP 配置文件,指定配置类型为 hnp-config,组件名称为 tree、版本 2.2.1,安装配置留空)。
  3. code/cmdtree/build_ohos.sh 构建与打包脚本(脚本定义 tree 组件相关参数,清理旧构建、编译安装组件,拷贝文档与 hnp.json,通过 HNP 工具打包并生成对应版本的 tar.gz 压缩包)。
  4. 配置 dependency.json 依赖配置文件(配置文件定义项目依赖组件,明确指定需引入 tree 工具,其源码来源)。
  • 成功在鸿蒙 OpenHarmony 环境中交叉编译并打包了 tree 工具 版本 2.2.1,整个流程从编译、安装到 HNP 打包完全顺畅,没有报错 ret=0 表示执行成功(成功执行两次构建命令,完成 zoxide 和 tree 的 HNP 打包,重新编译 tree 并输出对应产物,忽略无关编译警告,确保产物包含必要目录与文件)。
  • 检查构建产物。
  • 总结

    本次实践不仅为 tree 工具融入 OpenHarmony PC 生态提供了完整方案,更提炼出一套通用的 Linux 开源软件鸿蒙适配方法论,从环境迁移、依赖配置到打包发布的标准化流程,可为后续更多命令行工具的生态适配提供参考,助力 OpenHarmony PC 端工具链的丰富与完善,进一步降低开源软件融入鸿蒙生态的技术门槛,推动生态功能多元化拓展。

    目录

    1. OpenHarmony Linux 命令行工具适配实战:基于 Cursor × WSL 的 tree 2.2.1 交叉编译与 HNP 打包
    2. 前提准备
    3. WSL Ubuntu 24.04 系统迁移与重构
    4. Linux 开发环境初始化与依赖配置
    5. OpenHarmony SDK 获取、安装与环境配置
    6. OpenHarmony 工具链验证与编译测试
    7. 基于 Cursor / VS Code 的鸿蒙适配开发实践
    8. OpenHarmony PC 适配:tree 2.2.1 交叉编译与 HNP 打包
    9. 总结
    • 免费图片AI生成工具免费生成了解详情
    • Magick API 一键接入全球大模型注册送1000万token查看
    • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
    • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
    • 100+免费在线小游戏爽一把
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • Meta Llama 5 手机端革命与 Tesla Optimus 厨房演示
    • 无人机航拍目标检测与语义分割数据集汇总
    • 从零构建并训练 BERT 架构大模型实战指南
    • 算法实战:利用前缀和解中心下标与数组乘积问题
    • 基于 SpringBoot+Vue 的旅游网站管理系统设计与实现
    • HarmonyOS 相机开发实战指南
    • Web 自动化测试入门:核心概念与百度搜索实战
    • 直线扫描转换算法(DDA、中点、Bresenham)实现
    • DPI 系统详解:从流量感知到业务理解的关键网络能力
    • Spring AI 入门指南
    • Linux 基础 IO:深入理解软链接与硬链接
    • LobeChat 支持 AR/VR 交互:三维空间对话界面构想
    • Java NIO 基础原理与服务端开发指南
    • 从 0 到 1 打造 RISC-V 智能家居中控:硬件 + 固件 + 通信全链路实战
    • Neo4j Desktop 安装与使用指南
    • 基于 uni-app+Vue3+DeepSeek 的跨端 AI 流式对话系统模板
    • C++26 元编程革命:静态反射全面解析
    • HBase 核心架构解析:HMaster、RegionServer 与 ZooKeeper 协同机制
    • 基于 VSCODE、MarscodeAI 与 Embedded IDE 的嵌入式开发实践
    • 大模型微调框架对比:Firefly 与 LLaMA Factory 选型指南

    相关免费在线工具

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

    • Base64 文件转换器

      将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

    • Markdown转HTML

      将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

    • HTML转Markdown

      将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

    • JSON 压缩

      通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

    • JSON美化和格式化

      将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online