【鸿蒙PC命令行适配】有了真机我第一时间做了【命令行】指令编译
本文介绍了在鸿蒙PC上适配第三方命令行的过程,主要包括环境准备和命令编译两大步骤。首先通过应用市场安装GitNext、DevBox、Python安装器和BiShengJDK等基础工具,然后使用lycium_plusplus框架编译tree命令。文章详细说明了构建原理和具体操作步骤,包括编译脚本位置、编译命令执行以及效果测试,最终成功在鸿蒙PC上运行tree命令展示目录结构。整个过程为开发者提供了在
前言
终于有了自己的鸿蒙PC机,一定要把它的潜力都用出来,那么最好的方式就是从底层开始,所以从第三方命令行的适配我就要开启我的战斗过程了。
希望在这个过程中可以给大家提供更多的帮助。
环境说明
看看我的电脑信息,相对来说还是很够用的呢。
后面的操作都是根据这个电脑而来的,希望整体上会有更加流畅的体验。
准备适配命令行环境
我们使用的是lycium_plusplus框架下将命令行们编译成功,最后在鸿蒙PC的hishell上运行,前提条件就是各种辅助环境要配上,接下来我们就注意的安装环境吧。
1、准备git环境(鸿蒙PC上叫做GitNext)
我们可以直接打开鸿蒙PC上的市场,搜索GitNext即可。
安装完毕后我们打开一个终端,看看版本号。
2、下载lycium_plusplus到本地
我们直接通过git来下载即可,自己来配置一下用户名和邮箱啊。
git都会用,我就不啰嗦了。
git clone https://gitcode.com/OpenHarmonyPCDeveloper/lycium_plusplus.git
这里我将下载的内容都放在opt文件夹下面了,这个随意,放哪里都行,opt文件夹也是我自己创建的。
准备DevBox负责编译
这里依然选择使用PC的应用市场来搜索下载即可,很快的。
DevBox是一个适用于HarmonyOS的命令工具集合,它提供了一些开发者常用命令,主要包含文件和目录操作命令、网络命令、构建命令、签名工具等。

新增功能我们也可以看到。
我们一会就拿tree这个命令来做具体的测试。
Python环境安装
这里用Python安装器来操作,别直接搜Python,直接搜索不行,下图看的很明显,就没个能用的。

这个【Python安装器】才能用:
Java环境:使用BiShengJDK
这里我们选择JDK17的版本即可,其实这里值得思考,为什么只有8和17呢,做生态的肯定知道。
通过lycium_plusplus构建命令
我们的环境都准备好了,接下来我们来具体的构建了。
1、构建脚本位置
我们通过
2、编译tree命令操作
既然找到了,那么我们就可以直接编译,编译的具体命令是:
./build_local.sh tree

运行的时候会有一个提示,我们点击运行即可。
遇到问题我又执行了一下就过了。
3、查看tree命令是否存在
使用【ls usr/tree/arm64-v8a/bin】的命令来看看是否有tree。
4、tree效果测试
我们可以直接运行tree来试试效果了。
我们来换一个多层的试试。
在华为电脑本机编译的原理
这里我在读README.md文件的时候看到的。
原理介绍
我们在DevBox中提供了llvm、clang、make、cmake等一系列工具,这意味者我们可以在鸿蒙电脑上进行C/C++三方库构建具备了基础,但由于一些历史代码未进行适配鸿蒙相关的架构平台(尤其是采用autoconf,configure/config等自动通过uname识别构建机和目标机)的无法做到自动编译
因此,当前框架也进行了一部分调整
- 增加了
build_local.sh本机构建入口 lycium/script/build_hpk.sh调整了在执行build_local.sh时,仅构建适配平台的架构,当前适配了HarmonyOS,因此在TARGET_HARMONYOS变量为华为鸿蒙电脑构建的标识,在执行arch选择时,仅执行arm64-v8a- 由于大部分脚本编写都是基于bash的,为了保证兼容性,将sh脚本的解释器指定为
#!/bin/env bash
HPKBUILD适配
- 在prepare阶段,判断
TARGET_HARMONYOS变量,若为true,怎执行setHarmonyOSENV环境变量设置(该设置指定了CC/CXX等常用的构建命令) - host/type/build通过
BUILD_SYSTEM_CONFIG变量指定为aarch64-linux,欺骗config类架构判断方式 - 其他保持不变
构建
这是为了区分Linux给出的单独命令,win11的时候我使用的是./build.sh tree来编译的。
cd lyium
./build_local.sh unzip
其他
构建结果、产物等,与交叉编译无异
总结
我这里准备了个表,是整个过程的一个说明,希望能对大家有一些价值。
| 步骤阶段 | 工具/环境名称 | 安装/获取方式 | 存放/操作位置 | 核心命令/操作说明 |
|---|---|---|---|---|
| 环境准备 | GitNext(Git环境) | 鸿蒙PC应用市场搜索安装 | 系统全局可用 | git --version(验证版本)git clone https://gitcode.com/OpenHarmonyPCDeveloper/lycium_plusplus.git(下载框架) |
| 环境准备 | lycium_plusplus框架 | 通过GitNext克隆代码仓库 | 自定义目录(示例:opt文件夹) | 无(仅克隆操作,存放路径可自定义) |
| 环境准备 | DevBox | 鸿蒙PC应用市场搜索安装 | 系统全局可用 | 提供编译、文件操作等基础命令支持(编译tree命令依赖) |
| 环境准备 | Python环境 | 鸿蒙PC应用市场搜索“Python安装器”安装 | 系统全局可用 | 无(仅环境依赖,无直接执行命令) |
| 环境准备 | BiShengJDK | 鸿蒙PC应用市场安装JDK17版本 | 系统全局可用 | 无(仅环境依赖,无直接执行命令) |
| 命令编译 | build_local.sh脚本 | 随lycium_plusplus框架克隆获取 | lycium_plusplus框架根目录 | ./build_local.sh tree(编译tree命令) |
| 编译验证 | ls命令 | DevBox自带 | lycium_plusplus框架下usr/tree/arm64-v8a/bin目录 | ls usr/tree/arm64-v8a/bin(查看编译后tree可执行文件是否存在) |
| 效果测试 | tree命令 | 编译生成的可执行文件 | lycium_plusplus框架下usr/tree/arm64-v8a/bin目录 | ./tree(运行tree命令测试基础效果)./tree 多层目录路径(测试多层目录展示) |
这回有鸿蒙PC电脑了,效率就是高,有兴趣的也快去买一台吧。
欢迎加入开源鸿蒙PC社区:https://harmonypc.csdn.net/
更多推荐

所有评论(0)