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公钥
- 获取Linux机器上RSA的公钥;
- 配置码云(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工具
-
打开Linux编译服务器终端;
-
下载hc-gen工具;
https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
- 解压hc-gen安装包到Linux服务器~/hc-gen路径下;
tar -xvf hc-gen-0.65-linux.tar -C ~/
- 设置环境变量;
echo "export PATH==~/hc-gen:${PATH}" >> ~/.bashrc
source ~/.bashrc
1.8 安装LLVM工具
- 打开Linux编译服务器终端;
- 下载LLVM工具;
https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-53907/linux/llvm.tar.gz
- 解压LLVM安装包至~/llvm路径下;
tar -zxvf llvm.tar.gz -C ~/
- 设置环境变量;
vim ~/.bashrc
export PATH=~/llvm/bin:$PATH
source ~/.bashrc
备注:openharmony1.0使用的llvm工具与2.0不同。
1.9 安装hb工具
- 运行如下命令安装hb:
python3 -m pip install --user ohos-build
- 设置环境变量:
vim ~/.bashrc
export PATH=~/.local/bin:$PATH
source ~/.bashrc
- 执行"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
- 卸载方法:
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 获取源码
- 创建代码工程目录
mkdir openharmony_master
- 下载鸿蒙代码
进入代码工程目录,执行如下命令:
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目录指代当前工程的根目录,可自定义),具体操作如下:
- 开发者在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 -
- 配置NodeJS环境变量,下载node_modules包。
cd ./third_party/jsframework
export PATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}
npm install
- npm安装失败解决方案
npm config set strict-ssl false
npm install
cd -
备注:在安装npm install的时候可能有上面报错,这个但是没关系,直接拷贝不影响编译。
- 把下载的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版本和用例
- 编译命令
./build.sh --product-name Hi3516DV300 --ccache
./build.sh --product-name Hi3516DV300 --build-target make_test
- 输出路径
版本输出路径: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/master/zh-cn/device-dev/get-code/sourcecode-acquire.md
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
已于2021-9-17 22:00:00修改
赞
1
收藏
回复
回复
相关推荐