当前位置: 首页 > news >正文

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/ 目录下。

http://www.lryc.cn/news/467366.html

相关文章:

  • Triton服务在ASR语音识别系统中的实现
  • Typora一款极简Markdown文档编辑、阅读器,实时预览,所见即所得,多主题,免费生成序列号!
  • python机器人编程——用python调用API控制wifi小车的实例程序
  • 面试学习整理-线程池
  • Debian会取代CentOS成为更主流的操作系统吗?
  • 网络安全领域推荐证书介绍及备考指南
  • SpringBoot项目ES6.8升级ES7.4.0
  • 深度学习 之 模型部署 使用Flask和PyTorch构建图像分类Web服务
  • MFC工控项目实例二十六创建数据库
  • springmvc源码流程解析(一)
  • 【论文阅读】SRGAN
  • kubelet PLEG实现
  • leetcode49:字母异位词分组
  • 一个将.Geojson文件转成shapefile和kml文件的在线页面工具(续)
  • 论文阅读(二十四):SA-Net: Shuffle Attention for Deep Convolutional Neural Networks
  • 基于YOLOv8深度学习的智能道路裂缝检测与分析系统【python源码+Pyqt5界面+数据集+训练代码】
  • YOLOv11入门到入土使用教程(含结构图)
  • python 爬虫抓取百度热搜
  • 3.1 > Linux文件管理(基础版)
  • CTFHUB技能树之文件上传——MIME绕过
  • 4种鼓励创业创新的方法
  • C#中的LINQ之美:优雅的数据查询与操作
  • 深入浅出:深度学习模型部署全流程详解
  • git已经commit,但未push想撤回提交
  • SSL VPN调试思路及配置指南
  • 多租户架构的全景分析(基本概念、实现策略、资源管理和隔离、数据安全与隔离、性能优化、扩展性与升级、案例研究)
  • TDengine数据库整合MyBatis实现SpringBoot项目CRUD
  • 1493. 删除一个元素以后全为1的最长子数组 - 题解
  • 密钥管理方法DUKPT的OpenSSL代码实现Demo
  • 计算机视觉中的坐标变换