> 文档中心 > OpenHarmony代码下载编译流程记录

OpenHarmony代码下载编译流程记录

目录

基础环境信息

环境配置

1. 安装依赖的工具

2. 设置默认python版本为3.8

3. 配置git信息

4. 安装repo

代码下载

代码编译

执行prebuild

整体编译

OpenHarmony官方有两种使用方式(IDE和安装包),IDE方式用起来不是很方便,可能一上来会弄晕,还是敲命令来的直接,本文记录的是安装包方式。但官方更推荐IDE方式,详细可以参考:zh-cn/device-dev/quick-start · OpenHarmony/docs - 码云 - 开源中国 (gitee.com)。

基础环境信息

操作系统:Ubuntu 18.04.6 LTS  (Virtual Box虚拟机)

代码版本:OpenHarmony 3.1 release

环境配置

1. 安装依赖的工具

sudo apt-get update && sudo apt install git git-lfs python3.8 python3-pip flex ccache ruby libssl-dev libelf-dev bison default-jdk genext2fs u-boot-tools mtd-utils scons gcc-arm-none-eabi gcc-arm-linux-gnueabi liblz4-tool

这里不是OpenHarmony的所有依赖,只是我的Ubuntu环境里面缺少的一些依赖,每个人的环境不一样可能缺少的依赖也不一样,欢迎补充~

2. 设置默认python版本为3.8

查看Python 3.8位置

which python3.8

将python和python3切换为python3.8

sudo update-alternatives --install /usr/bin/python python {python3.8 路径} 1    #{python3.8 路径}为上一步查看的python3.8的位置sudo update-alternatives --install /usr/bin/python3 python3 {python3.8 路径} 1   #{python3.8 路径}为上一步查看的python3.8的位置

3. 配置git信息

OpenHarmony是托管在Gitee上的,需要注册Gitee账户,如果使用ssh方式下载还需要将SSH公钥配置到Gitee账户上(参考SSH 公钥设置 - Gitee.com),我使用的是https方式,不需要配置SSH公钥即可直接下载。

配置用户信息

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

4. 安装repo

mkdir ~/bincurl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo chmod a+x ~/bin/repopip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requestsvim ~/.bashrc # 编辑环境变量export PATH=~/bin:$PATH     # 在环境变量的最后添加一行repo路径信息source ~/.bashrc     # 应用环境变量

代码下载

我下载的是OpenHarmony 3.1 release分支,使用https方式,命令如下:

repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.1-Release --no-repo-verify --depth=1repo sync -c -j8repo forall -c 'git lfs pull'

说明:指定--depth=1可以加快下载速度,但是各个仓commit信息只保留最新的一条。指定-j8表示8个项目同时下载,如果电脑性能强的话可以指定-j16或者-j32,不指定的话默认是-j4。

注意:如果是第一次使用git lfs的话,需要先找一个git仓的根目录,先执行:git lfs install,显示如下信息表示正常。

 

代码编译

执行prebuild

在代码工程的根目录下执行:

bash build/prebuilts_download.sh

整体编译

在代码根目录下执行:

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

说明:--ccache可以缓存编译信息,再次编译的时候会大大加快编译速度。--product-name指定编译的产品形态,目前3.1 release分支还可以换成Hi3516DV300或者Hi3751V350,如果有开发板的话编译对应开发板就行。