news 2026/6/25 7:48:11

鸿蒙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/22 15:49:00

DeepSeek大模型:从崛起到悬崖,中国AI的破局之路与开发者学习指南

DeepSeek大模型曾以低成本、高性能、开源挑战全球AI巨头,后陷入技术争议、数据泄露、安全攻击等困境。文章分析其当前处境与东山再起之路,包括技术创新、商业模式探索和信任重建。作为中国AI产业代表,DeepSeek的成败关乎整个中国AI能否突破&a…

作者头像 李华
网站建设 2026/6/13 15:53:33

Java程序员转行大模型开发全攻略:从零基础到项目实战,建议收藏备用_大模型入门到精通,收藏这一篇就够了

Java程序员转型大模型开发需学习机器学习基础,掌握TensorFlow等工具,强化数学和编程能力。Java程序员在软件架构方面有优势。AI时代催生多种新岗位,包括AI工程师、数据工程师等,需掌握多领域知识。文章提供学习路线和资源&#xf…

作者头像 李华
网站建设 2026/6/20 5:18:21

AI论文深度解读:DeepSeek-V3.2的技术突破与局限

DeepSeek-V3.2:推动开源大语言模型的前沿探索 摘要翻译 我们推出 DeepSeek-V3.2,这是一款兼顾高计算效率与卓越推理、智能体性能的模型。其核心技术突破如下:(1)DeepSeek 稀疏注意力(DSA)&#…

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

YOLOv8可信AI三要素:公平、透明、可解释

YOLOv8可信AI三要素:公平、透明、可解释 在自动驾驶车辆识别行人时误判,或安防系统对特定人群漏检的新闻频频出现之际,人们开始意识到:一个“聪明”的AI模型,未必是一个“可信”的AI系统。尤其是在目标检测这类直接影响…

作者头像 李华
网站建设 2026/6/17 22:05:44

YOLOv8推理示例解析:加载yolov8n.pt模型识别bus.jpg图像

YOLOv8推理实战:从加载模型到识别bus.jpg的完整解析 在智能交通监控、自动驾驶感知和工业视觉检测日益普及的今天,如何快速部署一个高效准确的目标检测系统,已经成为开发者面临的核心挑战。传统流程中,环境配置复杂、依赖冲突频发…

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

YOLOv8直播教学计划:每周一次实战演示

YOLOv8直播教学计划:每周一次实战演示 在人工智能教育日益普及的今天,一个常见的痛点始终困扰着讲师和学员:为什么“在我电脑上能跑”的代码,在别人机器上却频频报错?环境依赖冲突、版本不匹配、CUDA 安装失败……这些…

作者头像 李华