背景
随着OpenHarmony-v3.1的公布,越来越多的开发者将眼光聚焦到OpenHarmony零碎开发上。对于首次接触OpenHarmony的开发者来说,如何进行源码编译是一个大难题,本文将具体介绍源码拉取到编译胜利的过程,心愿对开发小伙伴有所帮忙。
1 开发环境筹备
咱们将应用官网举荐的Ubuntu20作为编译环境,开发板应用Hi3516DV300,因为整个编译工具链过于宏大,手动搭建编译环境非常复杂,并且容易出错,这里将应用docker搭建编译环境,能够事倍功半
2 装置Docker
1.首先删除可能已有的docker$ sudo apt-get remove docker docker-engine docker.io containerd runc2.更新apt,装置根底工具$ sudo apt-get update$ sudo apt-get install ca-certificates curl gnupg lsb-release3.增加docker官网GPG key$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg4.增加稳定版docker源到apt$ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null5.装置docker$ sudo apt-get update$ sudo apt-get install docker-ce docker-ce-cli containerd.io6.测试docker$ sudo docker run hello-world7.拉取docker编译环境$ sudo docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.0
验证docker是否装置胜利
3 拉取源码
源码拉取流程如下:
操作命令如下:
1.更新apt$ sudo apt update2.装置git$ sudo apt install git-all3.注册gitee账号,配置git ssh-key$ git config --global user.name "yourname"$ git config --global user.email "your-email-address"$ git config --global credential.helper store4.装置python3.8,须要留神,ubuntu有可能自带有python2.7,可能引发抵触,ubuntu20$ sudo apt-get install python3.8设置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 15.装置码云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 requests6.拉取代码创立代码文件夹$ mkdir /home/openharmony3.0$ cd /home/openharmony3.0拉取代码$ repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0.1-LTS --no-repo-verify$ repo sync -c$ repo forall -c 'git lfs pull'
4 开发环境
Visual Studio Code进行近程开发方式,须要装置Remote Development插件,步骤如下:
① 下载Visual Studio Code并装置,官网链接:https://code.visualstudio.com/
② 装置Remote Development插件
③ 点击左下角绿色图标
④ 抉择连贯主机
⑤ 抉择减少近程主机
⑥ 输出ssh 用户名@IP
⑦ 输出账号密码
⑧ 抉择近程主机代码目录
⑨ 胜利后会展现代码目录
5 源码编译
1.在vscode中关上控制台,按ctrl+`能够关上,创立并启动docker容器,上一步执行结束就间接进入容器外部了$ sudo docker run -it -v $(pwd):/home/openharmony --name ohosc swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:1.0.02.批改容器外部的apt源为华为镜像# sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list# sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list3.更新apt# apt update4.装置ruby、ccache# apt install ruby# apt install ccache5.装置编译依赖工具包# ./build/prebuilts_download.sh6.执行编译命令,编译耗时较久,首次编译预计1.5小时左右# ./build.sh --product-name Hi3516DV300 --ccache
留神:
不要反复执行sudo docker run -it ...,
这样会导致反复翻新多个容器,第一次编译执行完后,容器会进行,那么就须要启动容器
$ sudo docker start ohosc
// 这里ohosc是上一步 --name ohosc 给容器起的别名
进入容器外部执行编译
$ sudo docker exec -it ohosc /bin/bash
./build.sh --product-name Hi3516DV300 --ccache
编译过程输入日志如下:
编译胜利提醒: