1. Ubuntu 20.04系统安装
配置OpenHarmony开发环境之前,需要先具备Ubuntu 20.04的基本环境。可以通过以下四种方式安装Ubuntu 20.04系统。
- 本地电脑安装Ubuntu 20.04的系统或者Windows+Ubuntu 20.04双系统
- 本地电脑Windows环境,基于虚拟机安装Ubuntu 20.04系统
- 本地电脑Windows环境,基于WSL安装Ubuntu 20.04系统
- 云服务器,配置为Ubuntu 20.04Ubuntu 20.04系统
其中,第一种方式会给不是完全习惯Ubuntu系统的开发者带来很大的适应或学习成本;第二种方式会导致计算机性能的极大浪费;本文推荐第三和第四种方式,其中,基于WSL安装Ubuntu 20.04系统可以参考Windows 10安装Linux子系统。
2. Ubuntu 20.04基本环境配置
2.1 配置软件源
-
备份软件源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak -
清空软件源
sudo echo "" > /etc/apt/sources.list -
更改软件源
sudo vim /etc/apt/sources.list # 使用vim打开文件,写入如下内容写入的内容如下:
-
ubuntu 20.04
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse -
ubuntu 18.04
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
-
2.2 更新系统软件
依次执行如下命令,将系统软件升级至最新版本
sudo apt update
sudo apt upgrade
2.3 配置root用户密码
执行如下命令,按照提示先输入当前用户的密码,之后会提示输入要设置的root用户密码,执行完毕即可。之前设置过的不用再次设置。
sudo passwd root
3. 配置OpenHarmony编译环境
3.1 安装编译所需软件
执行如下命令即可安装编译OpenHarmony需要的所有工具。
sudo apt 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 libncurses5 default-jre default-jdk genext2fs liblz4-tool libssl-dev libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
3.2 配置git环境
-
配置本地git环境
-
设置git用户名:
git config --global user.name "username" -
设置git签名邮箱:
git config --global user.email "youremail@example.com" -
设置git凭证存储方式:相关参考
git config --global credential.helper store
-
-
注册gitee账号
参考如下链接,按照提示逐步进行,即可完成gitee账号注册。注册 Gitee 账号
-
配置ssh公钥
-
在本地家目录下查看是否有
.ssh文件夹,若没有,执行如下命令,执行过程中,不必输入,全程enter即可。ssh-keygen -t rsa -C "youremail@example.com" -
查看并复制ssh公钥,并将其添加至gitee的个人账户中
cat ~/.ssh/id_rsa.pub -
验证公钥是否添加成功
ssh -T git@gitee.com # 命令执行后,提示“Hi XXX! You've successfully authenticated, but GITEE.COM does not provide shell access.”,表示添加成功
-
3.3 配置repo工具
-
切换到root用户
su # 切换到root用户,需要root用户密码,若未配置过,请执行上一步 -
下载安装repo工具:需要超级用户状态执行,结束后可退出
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo chmod a+x /usr/local/bin/repo -
python安装requests库
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
4. 代码拉取与编译
4.1 代码仓初始化
从服务器上下载最新的 repo 源代码和 manifest 仓库,此命令只需要执行一次。
-
OpenHarmony主干
repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify -
OpenHarmony Weekly分支
repo init -u git@gitee.com:openharmony/manifest.git -b weekly --no-repo-verify
4.2 同步代码
该命令首次执行会下载所有代码,其后执行该命令会是本地代码与远程仓库代码同步。
repo sync -c
4.3 下载所有代码仓所需的大文件
repo forall -c 'git lfs pull'
4.4 预编译
bash build/prebuilts_download.sh
4.5 编译
-
编译rk3568镜像
./build.sh --product-name rk3568 -
编译sdk
./build.sh --product-name ohos-sdk --target-cpu arm64 -
编译用于测试的预览器可执行文件
./build.sh --export-para PYCACHE_ENABLE:true --product-name ohos-sdk --ccache --gn-args enable_glfw_window=true
5. 报错记录
-
ubuntu 缺少 libtinfo.so.5 问题
sudo apt install libncurses5 -
ubuntu缺少java环境
sudo apt install default-jre default-jdk -
编译rk3568时,大片报错
sudo apt install genext2fs liblz4-tool libssl-dev