1.openharmony环境搭建

原文链接:https://kashima19960.github.io/2025/03/21/openharmony/1.openharmony环境搭建/

前言

在学习知识的时候,如果长时间不用,就会很快遗忘,所以我写这个系列的文章,目的是为了记录我学习openharmony的历程,让我以后回顾的时候,能够快速记忆起相关的知识,由于博主写这个系列的文章已经不是零基础了,所以有些步骤会呈现跳跃式,这个敬请谅解😊😊

采用的环境

  • OpenHarmony-v3.1-Release

openharmony更新的挺快的,所以有些头库文件的位置会经常变动,因此本系列的文章以我学习的3.1版本为准

  • 润和Hi3861

我学习的时候,采用南京的润和版,主控用的是hi3861V100,核心板长这样

1742554626580

  • DevEco device tool+Vscode

华为提供的这个IDE是Vscode的插件,所以必须要用Vscode。。。。😐😐

  • 虚拟机Ubuntu20.04

最好用20.04这个版本,有些工具链会因为版本原因不兼容(前人的教训)

虚拟机配置要求

创建虚拟机的软件可以采用Vmware或者Vitual box,不过我个人使用的话,是用的WSL,毕竟WSL的启动要快很多,如果是用Vmware或者Vitual box的话,这边是有推荐配置的,因为Openharmony的源码非常大,所以电脑最好要达成下图的配置

1742552695093但实际上只要硬盘大一点就行了,其他方面差一点只是编译的时候会慢一点而已

搭建环境

搭建环境我不推荐使用命令行的方式,因为工具链太多,一个个安装很可能会遇到很多问题

OpenHarmony系统分类

Openharmony有三种基础系统,你下载源码的时候都是同一份的,所谓的不同的基础系统就是在编译的时候,编译组件数量的多少罢了,比如Hi3861L100使用的是轻量系统,编译出来的文件只有40M左右。但是如果用标准系统编译的话,就是全量编译,编译出来的固件有20G以上,我当时编译标准系统的时候,睡觉前开始编译,睡醒了还在编译🤣

类型处理器最小内存能力
轻量系统(mini system)MCU类处理器(例如Arm Cortex-M、RISC-V 32位的设备)128KiB提供多种轻量级网络协议,轻量级的图形框架,以及丰富的IOT总线读写部件等。可支撑的产品如智能家居领域的连接类模组、传感器设备、穿戴类设备等。
小型系统(small system)应用处理器(例如Arm Cortex-A的设备)1MiB提供更高的安全能力、标准的图形框架、视频编解码的多媒体能力。可支撑的产品如智能家居领域的IP Camera、电子猫眼、路由器以及智慧出行域的行车记录仪等。
标准系统(standard system)应用处理器(例如Arm Cortex-A的设备)128MiB提供增强的交互能力、3D GPU以及硬件合成能力、更多控件以及动效更丰富的图形能力、完整的应用框架。可支撑的产品如高端的冰箱显示屏。

更多内容请参考官方文档快速入门概述

搭建环境要同时搭建Windows和Ubuntu的环境,

搭建Windows环境

具体内容参考这个文档搭建Windows环境,唯一需要注意的是Python的版本最好用3.8,因为这个工具的python相关代码是用Python3.8版本写的,所以其他版本的Python多少会有点兼容性问题

搭建Ubuntu环境

具体内容参考这个文档搭建Ubuntu环境,搭建好后要用Vscode通过远程SSH的方式连接Ubuntu,实现交叉编译,远程连接参考这个文档配置远程访问环境

下载源码

官方文档下载源码是通过码云仓库获取,但是这个方式比较复杂,我们可以直接用Deveco device tool这个工具进行一键下载,在新建工程里,选择对应版本的源码

1742553922403

点击确定就能直接下载了

安装工具链

工具链安装同样不推荐用apt直接安装,在工程配置这里,可以直接装,这些都是写好的脚本,点击执行就能一键安装所需工具链了

1742554123356

编译源码

如果环境都安装好了,就可以build试试了,如果缺了啥工具,IDE会进行提示

1742554450881

附录

环境搭建过程中会安装很多工具,这里有几个表解释了其中一些工具的作用,有兴趣可以参考一下

1742554995248

1742555009201

1742555023249

1742555034372

如果你是用码云的方式下载源码的话,还会用到git相关的工具

  • git:是一个开源分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。是为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

  • git-lfs:若在用git管理的项目中出现大文件,其数量较多,
    而且更新较频繁。那么当首次clone该项目时, 就会不可避免地将这些大文件的当前版本和历史所有版本的文件都下载下来, 虽然很可能用不到这些历史文件,
    但却不得不为它们所占用的额外空间买单。git lfs(large file storage)就很好地解决了这一问题。通过将大文件替换为小指针的方式,
    当你真正需要到这些大文件的时候, 它才会从本地或者远端的lfs缓存中下载这些大文件。

  • cURL:是一个利用URL语法在命令行下工作的文件传输工具,它支持文件上传和下载。

参考资料

快速入门概述

HarmonyOS设备开发 - HarmonyOS设备开发官网

Hi3861开发板介绍

编译形态整体说明

获取源码

下一节是啥?

讲讲轻量系统的编译构建与数据持久化

### Ubuntu 上搭建 OpenHarmony 环境时密码输入无反应的解决方案 在 Ubuntu 平台上搭建 OpenHarmony 开发环境的过程中,可能会遇到终端提示需要输入密码但没有任何字符显示的情况。这种现象实际上是正常的,因为 Linux 终端默认隐藏密码输入以提高安全性[^1]。 尽管看不到任何反馈,但实际上用户的键盘输入仍然有效。只需按照提示完成密码输入并按 Enter 键即可继续操作。如果确认密码正确但仍无法通过验证,则可能是权限或其他配置问题引起的错误。以下是可能的原因分析以及对应的解决方法: #### 1. 验证 sudo 权限 确保当前用户具有 `sudo` 权限。可以通过以下命令检查: ```bash groups $(whoami) ``` 上述命令会列出当前用户的所属组。如果未看到 `sudo` 或其他管理员组名称,则说明该用户不具备超级用户权限。此时可以联系系统管理员或将用户加入到 `sudo` 组中[^2]: ```bash sudo usermod -aG sudo username ``` #### 2. 检查终端状态 有时由于某些软件包冲突或依赖解析失败,可能导致终端行为异常。例如,在 ESP32 移植过程中可能出现类似警告:“ERROR: Error parsing dependencies of distro-info: Invalid version: '0.23ubuntu1'”。这通常表明存在版本不兼容的问题[^3]。建议更新 APT 缓存和修复损坏的包: ```bash sudo apt update && sudo apt upgrade -y sudo apt --fix-broken install ``` #### 3. 修改 Bash 配置文件 当执行涉及编辑 `.bashrc` 文件的操作(如配置环境变量)后忘记刷新生效,也可能引发后续指令运行受阻的现象[^4]。因此,在修改完成后记得加载最新的更改: ```bash source ~/.bashrc ``` 另外需要注意的是,部分情况下 Vim 的交互模式下可能存在特殊键映射干扰正常流程。所以推荐提前测试一下基本功能是否完好无损——比如尝试简单保存退出文档来检验是否有潜在 bug 存在(`ESC`, 再依次敲击`:wq!`)。 综上所述,针对 “Ubuntu 上搭建 OpenHarmony 环境时密码输入无反应”的情况,主要是由安全机制设计所致;而真正意义上的‘卡住’往往源于账户授权不足或者系统层面的小故障。依照以上指导逐一排查应该能够顺利解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值