OpenHarmony(1)开发环境搭建

一:开源项目

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。

官网:OpenAtom OpenHarmony

二:开发环境

sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex
bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib
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

三:获取源码

(1)注册gitee,添加公钥

(2)配置git

git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store

(3)安装repo工具

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 \> /usr/local/bin/repo \#如果没有权限,可下载至其他目录,并将其配置到环境变量中
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

(4)获取源码

源码地址:zh-cn/release-notes/Readme.md · OpenHarmony/docs - Gitee.com

1) 通过repo + ssh 下载(需注册公钥,请参考码云帮助中心)。

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

2) 通过repo + https 下载。

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

四:安装编译器

(1)执行prebuilts

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

下载的prebuilts二进制默认存放在与OpenHarmony同目录OpenHarmony_2.0_canary_prebuilts下

bash build/prebuilts_download.sh

(2)安装nb

对于4.0 Beta1以上版本、master分支,在代码根目录下执行 pip install build/hb

低版本的,在代码根目录下执行 pip install build/lite

五:编译

1、hb方式

(1)设置系统类型和产品

输入 hb set 选择standard ,之后选择hihope 中的rk3568

(2)设置系统位数

默认情况下是32位系统,若不需要调整跳过此步骤即可。

如需编译为64位系统,请执行如下命令:

hb build --target-cpu arm64

(3)执行编译

  • 单独编译一个部件(例如hello),可使用"hb build -T 目标名称"进行编译。

  • 增量编译整个产品,可使用"hb build"进行编译。

  • 完整编译整个产品,可使用"hb build -f"进行编译。

此处以完整编译整个产品为例进行说明

hb build -f

编译结束后,出现"rk3568 build success"字样,则证明构建成功。

2、sh方式

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

编译所生成的文件都归档在out/{device_name}/目录下,结果镜像输出在out/{device_name}/packages/phone/images/ 目录下。

相关推荐
无处安放的波澜16 分钟前
【HarmonyOS 5.0】第十二篇-ArkUI公共属性(一)
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
川石教育1 天前
鸿蒙开发-ArkTS 中使用 filter 组件
harmonyos·鸿蒙·鸿蒙应用开发·鸿蒙开发·鸿蒙开发培训·arkts语言
Damon小智1 天前
HarmonyOS NEXT 技术实践-实现音乐服务卡片
华为·harmonyos·鸿蒙·harmonyos next·服务卡片
play_big_knife1 天前
鸿蒙项目云捐助第十七讲云捐助我的页面上半部分的实现
华为·harmonyos·鸿蒙·云开发·鸿蒙开发·鸿蒙next·华为云开发
K.P3 天前
鸿蒙元服务从0到上架【第三篇】(第二招有捷径)
华为·harmonyos·鸿蒙系统
K.P3 天前
鸿蒙元服务从0到上架【第二篇】
华为·harmonyos·鸿蒙系统
鸿蒙自习室3 天前
鸿蒙开发——关系型数据库的基本使用与跨设备同步
前端·数据库·华为·harmonyos·鸿蒙
play_big_knife4 天前
鸿蒙项目云捐助第二十讲云捐助项目物联网IOT的使用
物联网·华为·华为云·harmonyos·鸿蒙·鸿蒙开发·iot开发
键盘舞者1134 天前
玩安卓-鸿蒙版 二 首页横幅、搜索、跳转链接功能
前端·鸿蒙·鸿蒙系统
play_big_knife4 天前
鸿蒙项目云捐助第十五讲云数据库的初步使用
数据库·华为云·harmonyos·鸿蒙·云开发·云数据库·鸿蒙开发