OpenHarmony2.0源码编译 原创

zhangchunbao515
发布于 2021-9-17 22:00
浏览
0收藏

1 环境配置

1.1 环境配置

sudo apt-get update
sudo apt-get install binutils git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4

备注:建议此命令多执行几遍,确保所有的工具都正确安装。

1.2 生产RSA信息

ssh-keygen -t rsa -C "zhangsan@163.com"

1.3 配置Gitee公钥

  1. 获取Linux机器上RSA的公钥;
  2. 配置码云(gitee)公钥(https://gitee.com);

1.4 配置Git信息

git config --global user.name "zhangsan"
git config --global user.email "zhangsan@163.com"
git config --global credential.helper store

1.5 安装Python工具

1、安装python3相关包:

sudo apt-get update
sudo apt-get install python3-pip
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

2、安装python2相关包:

sudo apt-get install python2.7
sudo ln -s /usr/bin/python2.7 /usr/bin/python

1.6 安装repo工具

进入当前用户根目录,执行如下命令:

mkdir bin
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo
chmod a+x ~/bin/repo

echo "export PATH=~/bin:${PATH}" >> ~/.bashrc
source ~/.bashrc

备注:如果此目录下没有权限可下载至其他目录,并将其路径配置到环境变量中。

1.7 安装hc-gen工具

  1. 打开Linux编译服务器终端;

  2. 下载hc-gen工具;

https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
  1. 解压hc-gen安装包到Linux服务器~/hc-gen路径下;
tar -xvf hc-gen-0.65-linux.tar -C ~/
  1. 设置环境变量;
echo "export PATH==~/hc-gen:${PATH}" >> ~/.bashrc
source ~/.bashrc

1.8 安装LLVM工具

  1. 打开Linux编译服务器终端;
  2. 下载LLVM工具;
https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-53907/linux/llvm.tar.gz
  1. 解压LLVM安装包至~/llvm路径下;
tar -zxvf llvm.tar.gz -C ~/
  1. 设置环境变量;
vim ~/.bashrc
export PATH=~/llvm/bin:$PATH
source ~/.bashrc

备注:openharmony1.0使用的llvm工具与2.0不同。

1.9 安装hb工具

  1. 运行如下命令安装hb:
python3 -m pip install --user ohos-build
  1. 设置环境变量:
vim ~/.bashrc
export PATH=~/.local/bin:$PATH
source ~/.bashrc
  1. 执行"hb -h",有打印以下信息即表示安装成功:
usage: hb
OHOS build system
positional arguments:
  {build,set,env,clean}
    build               Build source code
    set                 OHOS build settings
    env                 Show OHOS build env
    clean               Clean output
optional arguments:
  -h, --help            show this help message and exit
  1. 卸载方法:
python3 -m pip uninstall ohos-build

1.10 安装gn和nijia工具

拷贝源码prebuilts/build-tools/linux-x86/bin目录下的gn和nijia工具到用例的bi目录

cp -rf ./prebuilts/build-tools/linux-x86/bin/* ~/bin/

2 下载代码

2.1 获取源码

  1. 创建代码工程目录
mkdir openharmony_master
  1. 下载鸿蒙代码
    进入代码工程目录,执行如下命令:
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify --depth=1
repo sync -c
repo forall -c 'git lfs pull'

2.2 获取prebuilts

下载prebuilts组件:

cd /home/harmony/workspace/openharmony_master
curl https://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh >./prebuilts_download.sh
chmod 755 ./prebuilts_download.sh
bash ./prebuilts_download.sh

2.3 配置NodeJS环境和获取Node_modules依赖包

为了编译JS Framework,开发者需要在Linux服务器下载配置NodeJS(注意:步骤中OpenHarmony目录指代当前工程的根目录,可自定义),具体操作如下:

  1. 开发者在Linux服务器下载Nodejs
mkdir -p ./prebuilts/build-tools/common/nodejs 
cd ./prebuilts/build-tools/common/nodejs
wget --no-check-certificate https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz
tar -zxvf node-v12.18.4-linux-x64.tar.gz
cd -
  1. 配置NodeJS环境变量,下载node_modules包。
cd ./third_party/jsframework
export PATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}
npm install
  1. npm安装失败解决方案
npm config set strict-ssl false
npm install
cd -

备注:在安装npm install的时候可能有上面报错,这个但是没关系,直接拷贝不影响编译。

  1. 把下载的node_modules包放入OpenHarmony代码的prebuilts/build-tools/common/js-framework目录下。
mkdir -p ./prebuilts/build-tools/common/js-framework
cp -rp ./third_party/jsframework/node_modules ./prebuilts/build-tools/common/js-framework/

3 编译代码

3.1 编译L2版本和用例

  1. 编译命令
./build.sh --product-name Hi3516DV300 --ccache
./build.sh --product-name Hi3516DV300 --build-target make_test
  1. 输出路径
版本输出路径:out/ohos-arm-release/packages/phone/images/
用例输出路径:out/ohos-arm-release/packages/phone/tests/

3.2 编译L1版本和用例

hb set
hb build

3.3 编译L0版本和用例

hb set
hb build

4 FAQ

4.1 没有找到git-lfs

问题描述:git-lfs: not found

解决方案:sudo apt-get install git-lfs

4.2 安装VIM工具

sudo apt install vim

5 参考资料

https://gitee.com/openharmony/docs/blob/OpenHarmony-2.0-Canary/zh-cn/device-dev/quick-start/搭建系统环境.md

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/get-code/sourcecode-acquire.md

https://gitee.com/openharmony/docs/blob/OpenHarmony-2.0-Canary/zh-cn/device-dev/subsystems/编译构建使用指导-1.md

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
已于2021-9-17 22:00:00修改
1
收藏
回复
举报
回复
    相关推荐