news 2026/6/10 19:21:20

鸿蒙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/6/10 18:42:10

2025年AI技术演进与2026年趋势预测:从推理搜索到代理发展

文章回顾了2025年AI领域的发展,证实了"推理式搜索之年"的预测,展示了从"快速回答"向"慢速思考"模型的转型成功。小型高效模型崛起,代理发展不及预期,交互界面向语音方向发展。研究重心正从"LL…

作者头像 李华
网站建设 2026/6/10 12:14:15

YOLOv8文档自动生成:Sphinx+ReadTheDocs实践

YOLOv8文档自动生成:SphinxReadTheDocs实践 在现代AI项目开发中,一个常见的困境是:代码已经迭代到第三版,但文档还停留在初稿阶段;团队新人花三天才配好环境,只因少装了一个依赖;生产部署时发现…

作者头像 李华
网站建设 2026/6/10 18:37:06

谷歌相册和Nano Banana将登陆三星电视

谷歌相册和Nano Banana将登陆三星电视 三星希望你的电视能兼作家庭相册。 这家公司对客厅人工智能有着更富情感色彩的构想。在周一的新闻稿中,三星宣布计划将谷歌相册引入其AI电视产品线,将电视变成展示珍贵记忆的超大数码相框。这项目前定于2026年开始推…

作者头像 李华
网站建设 2026/6/10 15:09:24

YOLOv8目标检测实战:如何利用GPU算力加速模型训练

YOLOv8目标检测实战:如何利用GPU算力加速模型训练 在智能摄像头自动识别行人、无人机实时追踪移动目标、工业产线快速定位缺陷产品的背后,都离不开一个核心技术——目标检测。而今天,如果你还在用CPU训练深度学习模型,那可能连一轮…

作者头像 李华
网站建设 2026/6/10 13:48:41

PHP能否胜任工业控制系统的实时性要求?实测10万点/秒处理能力真相曝光

第一章:PHP能否胜任工业控制系统的实时性要求?在工业自动化与控制系统领域,实时性是衡量系统性能的核心指标之一。这类系统通常要求在确定的时间内完成关键任务,延迟超过毫秒级就可能导致设备故障或生产事故。而PHP作为一种广泛用…

作者头像 李华
网站建设 2026/6/10 14:26:42

我用鸿蒙开发了一个爆款小游戏,7天赚了10万 - 我的完整开发日记

说出来你可能不信,我人生第一个真正意义上"爆款"的应用,是一个简单到不能再简单的小游戏。而且,它让我在一周内赚了10万。 更关键的是,这个游戏从构思到上线,只用了5天时间。 故事要从一次失恋说起 去年10月,我刚和女朋友分手。原因很简单 - 她觉得我"…

作者头像 李华