news 2026/7/5 19:31:41

鸿蒙PC命令行适配之Ubuntu22.04 lycium_plusplus环境搭建SOP流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
鸿蒙PC命令行适配之Ubuntu22.04 lycium_plusplus环境搭建SOP流程

1. 关于编译工具

使用ohos-sdk为鸿蒙pc移植命令行,目前有3种编译方法,下面进行分别介绍。

1.1 第一种:build

早期参与鸿蒙PC命令行移植适配的开发者,应该都知道:OpenHarmonyPCDeveloper/build仓,这个仓的核心脚本就是build.sh。

代码逻辑非常简单,就是对工具链的路径、clang、cmake等编译工具进行了环境变量的设置。之后就是参考文档:HowToProtingForHarmony.md 为待移植命令编写编译脚本:build_ohos.sh。然后执行build.sh进行编译。最终得到鸿蒙PC版的可执行命令和hnp包。

⛔注意:目前不再维护,已经迁移到lycium_plusplus。

1.2 第二种:lycium_plusplus

https://atomgit.com/OpenHarmonyPCDeveloper/lycium_plusplus 作为 OpenHarmony C++ 编译框架,核心定位是降低 OpenHarmony PC 端 C++ 开发门槛,同时也是目前官方推荐的鸿蒙 PC 命令行移植适配框架。

lycium_plusplus支持集成命令包,同时,还可以指定依赖关系。实现一键编译。

1.3 第三种:自制轮子

对于Linux/Android等领域的C/C++开发者来说,上面这个图里的命令是非常熟悉的,就是c/c++工具链,所以我们可以把ohos-sdk当做工具链来使用。对于这部分人群来说,是完全可以参考传统方式,使用自己熟悉的流程和方法进行命令行的鸿蒙PC移植。

1.4 怎么选?

如果你在Linux领域有一定的开发经验,特别是有嵌入式Linux交叉编译经验或者Android NDK经验,可以尝试自制轮子的方式。否则的话,lycium_plusplus将是你的第一选择。

方法介绍适合人群
build官方最初推荐的方法,核心只有一个build.sh,比较简单。目前不再维护,已经迁移到lycium_plusplus。新手
lycium_plusplus类似openwrt、yocto等,专为鸿蒙pc命令行编译设计的一套复杂编译框架。可扩展,可指定依赖。
但是一套新框架,有学习成本。新手遇到问题会无从入手。
目前大多数开发者的首选,但需具备一定的学习能力,遇到问题时可进行排查定位。
自制轮子根据ohos-sdk,按需自行调用相关工具完成命令的移植。灵活可控。Linux领域的资深开发者。比如:
1. 有嵌入式Linux交叉编译经验的开发者
2. 有Android NDK经验的开发者

2. lycium_plusplus的搭建流程

接下来,就详细讲解如何在Ubuntu22.04环境下搭建lycium_plusplus运行环境,并将官方已适配好的tree命令构建出来。

2.1 安装常见依赖工具

为了减少移植适配过程中可能遇到的命令缺失问题,我们先通过下面2条命令完成常见依赖工具的安装,后面会省很多事。

# 更新软件源sudoaptupdate# 安装必备开发工具sudoaptinstall-ycurlgitvimgcc g++makepkg-config autoconf automake patch libtool autopoint gperf tcl8.6-devwgetunzipgccgo-go flex bison premake4 python3 python3-pip ninja-build meson sox gfortran subversion build-essential module-assistant gcc-multilib g++-multilib libltdl7-dev cabextract libboost-all-dev libxml2-utils gettext libxml-libxml-perl libxml2 libxml2-dev libxml-parser-perl texinfo xmlto po4a libtool-bin yasm nasm xutils-dev libx11-dev xtrans-dev

2.2 下载配置ohos sdk

为了保持目录整洁,我们所有的工具、脚本等都放在工作目录:~/harmonypc下:

# 创建鸿蒙pc命令行移植的工作目录mkdir~/harmonypc

2.2.1 下载ohos sdk

到openharmony ci的每日构建页,找到ohos-sdk进行下载。

这里提供一个20250819构建的ohos-sdk-full_ohos下载地址,使用wget命令下载到Ubuntu中即可。

# 进入工作目录cd~/harmonypc# 下载ohos sdkwgethttps://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命令解压sdk:

# 进入工作目录cd~/harmonypc# 解压ohos sdktarxf version-Master_Version-ohos-sdk-full_ohos-20250819_020817-ohos-sdk-full_ohos.tar.gz

解压完成后,会得到ohos-sdk目录。

2.2.2 解压ohos sdk

进入ohos-sdk/linux下,使用unzip命令解压native和toolchains两个压缩包。

cd~/harmonypc/ohos-sdk/linux/# 解压nativeunzip-qnative-linux-x64-6.0.0.46-Beta1.zip# 解压toolchainsunzip-qtoolchains-linux-x64-6.0.0.46-Beta1.zip

如下图所示,解压完成后,得到native和toolchains两个目录。

2.2.3 配置环境变量

在使用lycium_plusplus之前,需要先设置OHOS_SDK环境变量到ohos-sdk/linux目录。

# 设置OHOS_SDK环境变量exportOHOS_SDK=~/harmonypc/ohos-sdk/linux

环境变量设置完成后,查看一下2个核心工具:clangbinary-sign-tool是否存在。

ls$OHOS_SDK/native/llvm/bin/clangls$OHOS_SDK/toolchains/lib/binary-sign-tool

如下图所示,2个工具都能找到,说明ohos sdk的下载、解压、配置等步骤都已经成功了。

注意:每次开机或者每新开一个终端,在使用lycium_plusplus之前,都需要重新设置该环境变量,也可执行如下命令实现每次开机自动设置:

echo'export OHOS_SDK=~/harmonypc/ohos-sdk/linux'>>~/.`basename$SHELL`rc

2.3 下载lycium_plusplus

lycium_plusplus的仓库地址是https://atomgit.com/OpenHarmonyPCDeveloper/lycium_plusplus。我们将其clone到工作目录~/harmonypc下。

# 进入工作目录cd~/harmonypc# 下载lycium_plusplusgitclone https://gitcode.com/OpenHarmonyPCDeveloper/lycium_plusplus.git

如下图所示,是下载成功后工作目录~/harmonypc的目录结构情况:

2.4 使用lycium_plusplus编译tree命令

到这里,lycium_plusplus环境就已经搭建成功,后续就可以做鸿蒙PC命令行移植适配了。

lycium_plusplus已经移植了非常多的开源库和命令行,比如:tree,我们可以先尝试构建tree命令,体验lycium_plusplus的运行过程。

进入lycium_plusplus/lycium/目录下,执行./build.sh tree命令就可以启动tree命令的构建。

# 进入build.sh目录cd~/harmonypc/lycium_plusplus/lycium/# 构建tree命令./build.sh tree

如下图所示,是tree命令启动构建的日志:

如下图所示,看到Build tree 2.2.1 end!和ALL JOBS DONE!!!的日志,就说明tree命令构建成功了。

如下如所示,我们可以在usr/tree/arm64-v8a/bin下找到鸿蒙PC版本(ARM aarch64)的可执行程序:tree,在output/arm64-v8a/目录下可以找到hnp包:tree.hnp

3. 总结

到这里,这篇文章就大家完整走完了lycium_plusplus框架的环境搭建和官方适配好的tree命令移植,相信你对lycium_plusplus已经有了一定了解,但你是不是还在想:

  1. 编译好的命令如何在鸿蒙pc上运行?
  2. lycium_plusplus是怎么工作的?
  3. 我想移植一个其它命令该怎么做?
  4. 如果编译出错了如何解决?
  5. 编译日志可以在哪看?

不要急,接下来几篇将逐一为大家解答,力争让每个人都成为鸿蒙PC命令行移植适配的专家。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 5:44:45

YOLOv8日志收集ELK方案:集中管理训练日志

YOLOv8日志收集ELK方案:集中管理训练日志 在现代AI研发实践中,一个看似不起眼却影响深远的问题正困扰着越来越多的团队——当我们在多个服务器、容器甚至云实例上并行训练YOLOv8模型时,那些记录着损失值波动、mAP变化和学习率调整的日志文件&…

作者头像 李华
网站建设 2026/7/1 10:02:12

YOLOv8多版本共存:virtualenv隔离不同项目

YOLOv8多版本共存:virtualenv隔离不同项目 在深度学习项目开发中,一个看似不起眼却频频引发“线上事故”的问题浮出水面——环境依赖冲突。你是否经历过这样的场景:刚跑通YOLOv8的新模型,准备回头维护一个基于YOLOv5的老项目时&a…

作者头像 李华
网站建设 2026/7/1 10:02:13

程序员必学!AI智能体记忆系统:理论框架与实战指南(收藏)

这篇由多所顶尖机构联合发布的综述,提出"形态-功能-动态"三维框架,系统解构了AI智能体记忆系统的完整蓝图。文章明晰了智能体记忆与LLM记忆、RAG、上下文工程的边界与联系,详细分析了记忆的三种形态、三大功能及动态过程&#xff0…

作者头像 李华
网站建设 2026/7/4 1:38:35

YOLOv8离线安装方案:内网环境部署必备

YOLOv8离线安装方案:内网环境部署必备 在智能制造工厂的质检线上,一台边缘服务器正实时分析高清摄像头传回的画面——但整个系统处于完全隔离的内网环境中,无法访问公网。这种场景下,如何快速部署一个高性能的目标检测模型&#x…

作者头像 李华
网站建设 2026/7/1 10:02:19

DeepSeek应用完全指南:从PPT制作到会议纪要,3个实用技巧助你高效工作

本文介绍了DeepSeek与三种第三方平台的结合使用技巧:与Kimi协作自动生成高质量PPT,与ChatExcel合作创建数据驱动型报告,以及与飞书妙记配合生成结构化会议纪要。这些组合应用极大地降低了AI使用门槛,使普通人也能轻松将AI技术应用…

作者头像 李华
网站建设 2026/7/1 2:52:52

CES 2026趋势展望:全球最大科技展五大热门话题预测

CES即将到来,将于1月4日对媒体开放(大多数新闻在此期间发布),并于1月6日对公众开放。作为世界最大的科技会议,这个展会通过公司在全球舞台上展示最新创新成果来开启新的一年。结果就是为科技爱好者和普通大众带来大量的…

作者头像 李华