0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony鸿蒙编译环境搭建 (兼容至4.0-Master和主干分支)

王程 来源:jf_75796907 作者:jf_75796907 2024-02-23 15:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

预备工作

安装虚拟机工具VMware或者VirtualBox。

新建虚拟机,内存16GB及以上,硬盘100GB及以上。

安装Ubuntu,推荐使用20.04版本。用户名不能包含中文。

启动并进入Ubuntu虚拟机,以下步骤将在Ubuntu虚拟机中进行操作。

一、将Shell环境修改为bash

sudo dpkg-reconfigure dash

选择“No”。

wKgZomXYRyiAD7nzAABJaF1wMIA816.png

二、替换Ubuntu软件源

在“https://mirrors.ustc.edu.cn/repogen/”下载对应版本最新的源。

wKgaomXYRy6AB0n3AABpxvDWlNY935.png

在下载好的文件(sources.list)所在的位置开启一个终端窗口,执行下列命令。

备份原始文件:

sudo cp /etc/apt/sources.list /etc/apt/source.list.bak

替换源:

sudo mv -f sources.list /etc/apt/

更新软件包索引

sudo apt update

三、安装必要的库和工具

需要分两步进行安装。注意,这里比较重要,官网文档用一步进行安装,会出现问题,导致安装不完整,从而导致后期编译出现“3000”错误。

sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev   libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi

四、配置Python

设置默认Python解释器,python和python3软链接为python3.8:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
python --version

安装python包管理工具(pip3):

sudo apt install python3-pip

配置pip软件包更新源:

mkdir ~/.pip
pip3 config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
pip3 config set global.trusted-host mirrors.huaweicloud.com
pip3 config set global.timeout 120

五、安装Samba服务

用于在开发环境中使用VS Code编写代码。执行下列命令安装samba并打开配置文件:

sudo apt install samba
sudo gedit /etc/samba/smb.conf

在配置文件末尾添加以下内容:

[home]
comment = User Homes
path = /home
guest ok = no
writable = yes
browsable = yes
create mask = 0755
directory mask = 0755

建立用户并设置密码(请将下面的用户名换成您自己的):

sudo smbpasswd -a dragon

重启samba:

sudo service smbd restart

六、获取源代码的必要工具和配置

安装git-lfs,会自动安装git:

sudo apt install git-lfs

安装repo和requests:

wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
sudo mv repo-py3 /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

配置git(请将下面的邮箱和用户名换成您自己的):

git config --global user.email "dragon@hbu.cn"
git config --global user.name "dragon"
git config --global credential.helper store
git config --global --add safe.directory "*"

七、拉取源码

以4.0为例(可以拉取branch或tag,这里使用branch):

mkdir -p ~/openharmony/4.0
cd ~/openharmony/4.0
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

在源码根目录下执行prebuilts脚本,安装编译器及二进制工具:

bash build/prebuilts_download.sh

八、安装编译工具

在源码根目录运行如下命令安装hb并更新至最新版本:

python3 -m pip install --user build/hb

设置环境变量:

echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

九、编译

两种方式,使用hb或者build.sh。

使用hb。在源码根目录运行如下命令(选择要编译的产品并进行编译):

hb set
hb build

使用build.sh。命令格式为:

./build.sh --product-name {product_name} --ccache

例如,在源码根目录运行如下命令:

./build.sh --product-name rk3568 --ccache

耐心等待,对于标准系统来说,完整编译过程会持续2-3小时。

wKgaomXYR0GAAimPAADQ-7oaLKc160.png


为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》,希望对大家有所帮助:

《鸿蒙(Harmony OS)开发学习手册》

入门必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用开发导读(ArKTS)
2.应用开发导读(Java

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系统定义
2.技术框架
3.技术特性
4.系统安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入门:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.构建第一个ArkTS应用
3.构建第一个JS应用
4…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

开发基础知识:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 开发:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png


审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编译
    +关注

    关注

    0

    文章

    696

    浏览量

    35282
  • 鸿蒙
    +关注

    关注

    60

    文章

    3018

    浏览量

    46175
  • OpenHarmony
    +关注

    关注

    33

    文章

    3974

    浏览量

    21358
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    简单高效的鸿蒙编译提速技巧

    鸿蒙应用开发中编译构建是开发者最频繁的操作,每一次编译提速都能显著提升项目整体开发效率。本次分享几个简单却高效的鸿蒙编译提速技巧,从
    的头像 发表于 03-04 16:09 254次阅读
    简单高效的<b class='flag-5'>鸿蒙</b><b class='flag-5'>编译</b>提速技巧

    RK3568 Android11编译环境搭建及报错解决指南

    在嵌入式开发领域,RK3568 芯片凭借其出色的性能被广泛应用。基于 RK3568 进行 Android11 系统的开发,首先要搭建编译环境。本文将详细介绍在 Ubuntu20.04 系统上
    的头像 发表于 02-04 17:37 2102次阅读
    RK3568 Android11<b class='flag-5'>编译</b><b class='flag-5'>环境</b><b class='flag-5'>搭建</b>及报错解决指南

    AT32开源鸿蒙开发环境搭建

    本帖最后由 jf_77210199 于 2026-1-19 09:49 编辑 AT32开源鸿蒙开发环境搭建 主要介绍两部分内容: 1、如何快速搭建起开源
    发表于 01-16 13:56

    #OpenHarmony 开发环境准备

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:44:31

    深开鸿开源鸿蒙社区主干代码贡献量破650万行

    ,1500多款产品通过兼容性测评,构建起覆盖千行百业的庞大生态体系。近日,作为开源鸿蒙社区的核心贡献者之一,深圳开鸿数字产业发展有限公司(简称“深开鸿”)在社区主干代码贡献量超650万行,以显著的代码贡献和多维实践,成为推动开源
    的头像 发表于 01-07 10:22 697次阅读

    【置顶公告】视美泰开源鸿蒙系列产品业务咨询与商务合作通道正式开启!

    设计。 生态解决方案整合智慧政务、智慧医疗、智慧园区、智慧教育、智慧安平、工业物联网等领域鸿蒙化系统集成与场景落地。 技术授权与联合创新OpenHarmony生态兼容性认证、技术培训及联合品牌产品开发。 行业
    发表于 10-20 16:23

    【汇思博SEEK100开发板试用体验】在开发板鸿蒙OS搭建QT开发环境

    无缝运行。理解这一架构原理,对于后续进行开发实践至关重要。 三、开发环境搭建 (一)所需工具及软件准备 1.华为 DevEco Studio:作为鸿蒙应用开发的官方 IDE,主要用于最终的应用打包
    发表于 08-24 18:34

    【汇思博SEEK100开发板试用体验】开发环境安装配置

    以下文字,基于SEEK100开发板试用经验,详细梳理OpenHarmony开发环境搭建的关键步骤与避坑要点: 一、开发工具部署:DevEco Studio精准安装 ​​核心版本选择​​ 必须下载
    发表于 08-20 21:43

    开发环境一键部署 | 如何搭建Docker环境编译ARM程序?

    点:环境搭建为何如此关键?嵌入式Linux开发,环境是地基。传统方式下,开发者往往需要:四处搜寻匹配的工具链版本手动配置复杂的编译参数多次反复适配
    的头像 发表于 08-15 11:06 1165次阅读
    开发<b class='flag-5'>环境</b>一键部署 | 如何<b class='flag-5'>搭建</b>Docker<b class='flag-5'>环境</b><b class='flag-5'>编译</b>ARM程序?

    【重要通知】OpenHarmony主干平台开发板选型提报倒计时(参考工具发布)

    此版《OpenHarmony开发板硬件接口标准参考表》供各位参考评估。 参考表下载:*附件:OpenHarmony开发板硬件接口标准参考表.pdf 提报渠道: 邮件:497789833@qq.com(标题格式:公司+推荐平台+
    发表于 07-24 09:17

    桃芯科技获得OpenHarmony生态产品兼容性证书

    近日,由INGCHIPS自主研发的模组/开发板DB870CC1A顺利通过OpenHarmony 5.0.2 Release版本兼容性测评,并获得OpenHarmony生态产品兼容性证书
    的头像 发表于 06-25 14:30 1322次阅读

    OpenHarnomy5.1下对RK3588的编译环境搭建

    拉取的是OpenHarmony5.1的代码,直接编译RK3588会报“相机“的错误。有没有大佬有成功编译的呢,这里请教一下
    发表于 06-12 17:20

    开源鸿蒙开发必备!OpenHarmony替换Full SDK全攻略

    本文介绍开源鸿蒙OpenHarmony替换FullSDK的方法,演示设备为触觉智能PurplePiOH鸿蒙开发板获取FullSD
    的头像 发表于 06-06 18:11 1032次阅读
    开源<b class='flag-5'>鸿蒙</b>开发必备!<b class='flag-5'>OpenHarmony</b>替换Full SDK全攻略

    利尔达RedCap模组通过OpenHarmony 生态兼容性测评!

    。此次认证标志着该NR90模组在鸿蒙系统中的技术适配能力获得官方认可,为工业物联网、智能终端等设备快速融入鸿蒙生态提供了关键支持。本次认证由OpenHarmony兼容
    的头像 发表于 05-23 17:59 1784次阅读
    利尔达RedCap模组通过<b class='flag-5'>OpenHarmony</b> 生态<b class='flag-5'>兼容</b>性测评!

    不借助Linux系统,在Windows下如何搭建ZMC900E交叉编译环境

    不需要依赖笨重的虚拟机,也不需要安装双系统。抛开繁琐的环境准备,在Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建
    的头像 发表于 05-21 11:34 1078次阅读
    不借助Linux系统,在Windows下如何<b class='flag-5'>搭建</b>ZMC900E交叉<b class='flag-5'>编译</b><b class='flag-5'>环境</b>