搭建openharmony liteos 编译环境

获取代码

参考链接

创建任意空目录

进入该路径 比如该路径是 /root/hw/lite

执行:

cd /root/hw/lite
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c

有的人也遇到”fatal: early EOF“错误,据说:
repo命令中的-b master改成-b ssh/master就可以正常下载了

搭建docker编译环境

参考链接

使用镜像拉取方式:

docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.3

#启动:
docker run -dit --name ohos_co -v /root/hw/lite:/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker:0.0.3 /bin/bash

#进入容器:
docker exec -ti ohos_co bash

首次进入容器后,

需要设置环境,依次执行:

python3 -m pip install --user build/lite

hb set

#输入 .

#选择 : ipcamera_hispark_taurus

更新llvm

最新代码需要 llvm 10.0
查看现有版本:

/home/tools/llvm/bin/clang --version

更新llvm步骤:

进入容器后执行:

cd /home/tools
wget https://repo.huaweicloud.com/harmonyos/compiler/clang/10.0.1-53907/linux/llvm.tar.gz
rm -r llvm
tar xzf llvm.tar.gz

编译

hb build -f #执行全量编译

hb build resmgr_lite

[OHOS ERROR] Component abc not found

查找 Component name 的方法:
Component 定义在 build/lite/components/ 下。
json文件中的 "component": "xxxx", xxxx 就是 name

错误解决:

ld.lld: error: /home/openharmony/out/hispark_taurus/ipcamera_hispark_taurus/obj/kernel/liteos_a/lib/libbsp_config.a:1: unknown directive: version

解决办法
更新二进制:
repo forall -c 'git lfs pull'

resmgr需要做的修改:

build/lite/components/global.json

  1. resmgr_lite 下面的 targets 中新增一行
    "//base/global/resmgr_lite/frameworks/resmgr/test:unittest"
  2. 把 frameworks/resmgr_lite 改成 frameworks/resmgr

foundation/appexecfwk/appexecfwk_lite/services/bundlemgr_lite/BUILD.gn
foundation/ace/ace_engine_lite/frameworks/BUILD.gn
foundation/ace/ace_engine_lite/test/ace_test_config.gni

  1. 把 frameworks/resmgr_lite 改成 frameworks/resmgr

你可能感兴趣的:(搭建openharmony liteos 编译环境)