OpenHarmony环境搭建

OpenHarmony环境搭建

安装编译环境

编译鸿蒙OS安装编译环境pyhton3.7+、llvm、gn、ninja、hc-gen

sudo apt install python3-pip	#安装pip3
sudo pip3 install kconfiglib	#安装GUI menuconfig工具
sudo ln -s /usr/bin/python3  /usr/bin/python	#设置python3软连接

安装文件打包工具:

运行mkfs.vfat,如果未找到该命令,请运行
sudo apt-get install dosfstools
运行mcopy,如果未找到该命令,请运行
sudo apt-get install mtools
安装 zip:
sudo apt install zip

安装包下载:

https://mirrors.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar
https://mirrors.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
https://mirrors.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
https://mirrors.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar

解压安装包至~/HarmonyOSDev路径下:

tar -xvf llvm-linux-9.0.0-34042.tar -C ~/HarmonyOSDev
tar -xvf gn.1523.tar -C ~/HarmonyOSDev
tar -xvf ninja.1.9.0.tar -C ~/HarmonyOSDev
tar -xvf hc-gen-0.65-linux.tar -C ~/HarmonyOSDev

设置环境变量:

vim ~/.bashrc

新增:

export PATH=~/HarmonyOSDev/llvm/bin:$PATH
export PATH=/home/wongkyunban/HarmonyOSDev/gn:$PATH
export PATH=~/HarmonyOSDev/ninja:$PATH
export PATH=~/HarmonyOSDev/hc-gen:$PATH

使环境变量生效:

source  ~/.bashrc

安装依赖环境:

sudo apt-get install binutils git-core 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 lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 

安装码云repo工具,可以执行如下命令。注意该步操作官方版本貌似有权限问题不能执行。所以做了相应的调整,执行下面命令后码云repo工具运行正常。

cd ~ curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo sudo cp repo  /usr/local/bin/repo && sudo chmod a+x /usr/local/bin/repo sudo pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
curl https://gitee.com/landwind/script-tools/raw/master/Shell/OpenHarmony/OpenHarmony_2.0_canary_prebuilts_download.sh >./prebuilts_download.sh
bash ./prebuilts_download.sh 

二进制默认存放在与OpenHarmony同目录下的OpenHarmony_2.0_canary_prebuilts下,如需修改默认位置,请编辑prebuilts_download.sh修改bin_dir值。 配置NodeJS环境和获取Node_modules依赖包 为了编译JS Framework,开发者需要在Linux服务器下载配置NodeJS(注意:步骤中OpenHarmony目录指代当前工程的根目录,可自定义),具体操作如下: 1)开发者在Ubuntu18.04下载Nodejs。

mkdir  OpenHarmony/prebuilts/build-tools/common/nodejs   -p              

#创建nodejs目录

cd OpenHarmony/prebuilts/build-tools/common/nodejs  

#进入nodejs目录

wget --no-check-certificate https://nodejs.org/download/release/v12.18.4/node-v12.18.4-linux-x64.tar.gz 

#下载nodejs源码

tar -zxvf node-v12.18.4-linux-x64.tar.gz

配置NodeJS环境变量,下载node_modules包。

cd OpenHarmony/third_party/jsframework       

#进入jsframework目录

export PATH=../../prebuilts/build-tools/common/nodejs/node-v12.18.4-linux-x64/bin:${PATH}

#设置NodeJS环境变量

npm install 

把下载的node_modules包放入OpenHarmony代码的prebuilts/build-tools/common/js-framework目录下。

mkdir OpenHarmony/prebuilts/build-tools/common/js-framework  -p

#创建js-framework目录

cp -rp OpenHarmony/third_party/jsframework/node_modules OpenHarmony/prebuilts/build-tools/common/js-framework/ 

repo工具安装

curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > repo
chmod a+x repo
mv repo /usr/local/bin/

git lfs安装

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
apt-get install git-lfs
apt install git-lfs
git lfs install
OpenHarmony编译

下载代码:(拉取代码,更新失败)
创建目录 mkdir master

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo init -u https://gitee.com/openharmony/manifest.git -b monthly --no-repo-verify

repo sync -c

repo forall -c 'git lfs pull'

repo start master --all
repo start monthly --all

bash ./build/prebuilts_download.sh

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

64位(推荐):

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'

repo start master --all

bash ./build/prebuilts_download.sh

./build.sh --product-name rk3568 --ccache --target-cpu arm64

./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target multimedia_av_session --target-cpu arm64

OpenHarmony编译

repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify --depth=1
repo sync --force-sync -c -j8
repo forall -c 'git lfs pull'
repo start master --all
bash ./build/prebuilts_download.sh
./build.sh --product-name rk3568 --ccache
./build.sh --product-name rk3568 --ccache --target-cpu arm64
./build.sh --product-name rk3568 --ccache --build-target make_all --target-cpu arm64(最新的rk3568  64位的编译命令)

拉取代码:

repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
//若显示没有repo,重启系统概率性解决。若需要选择颜色配置随意选
repo sync -c -j16  //根据自己电脑CPU线程数选择
repo sync -c -j32
repo forall -c 'git lfs pull'

编译代码:

bash build/prebuilts_download.sh        //下载依赖库
./build.sh --product-name rk3568 --ccache   //全量编译
./build.sh --product-name Hi3516DV300 --ccache  //全量编译
单独编译某个模块命令
./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target multimedia_avsession     //编译指定的模块
可以加上参数快速重新编译       --fast-rebuild   
hdc_std list targets    //设备列表
./build.sh --product-name rk3568 --build-target AvsessionManagerTest   //编译测试用例

编译后镜像路径:

\out\rk3568\packages\phone\images\

生成测试用例路径

/out/rk3568/tests/unittest/multimedia_avsession_standard

#编译多媒体模块

./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target multimedia_av_session

#编译多媒体模块的测试用例

./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target multimedia_av_session_test
./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target multimedia_av_session_test --fast-rebuild

异常情况不知道怎么具体怎么解决,编译问题三板斧用起来!

删除 out:	
rm -rf out
更新工具链:	
./build/prebuilts_download.sh
更新二进制和代码:
二进制更新:	
repo forall -c "git lfs pull"
代码更新:	
repo sync -c --no-tags

单独编译播控组件的命令是:

./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target xxx

上32位,下64位(推荐第二个);

./build.sh --product-name rk3568 --target-cpu arm64 --export-para PYCACHE_ENABLE:true --build-target xxx

./build.sh --product-name rk3568 --export-para PYCACHE_ENABLE:true --ccache --build-target xxx --target-cpu arm64

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Three笔记

有用的话赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值