> 文档中心 > [OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)


上文:

[OpenHarmony] 快速搭建linux开发环境+OpenHarmony环境 (一)

一、构建OpenHarmony编译器

  1. 下载 【凌智电子 / 小凌派-RK2206开发板】SDK
    从gitee下载: 【凌智电子 / 小凌派-RK2206开发板】
    从csdn下载:lockzhiner-rk2206-openharmony3.0lts.zip

下载完毕后,放在linux共享目录下。
(1)在D盘创建prog文件夹,并解压到此。
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
如果由本文提供的linux,在linux终端输入:cd /mnt/d/prog/lockzhiner-rk2206-openharmony3.0lts
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

如果通过其他渠道的linux,则共享windos目录,参考附录。
然后cd进入lockzhiner-rk2206-openharmony3.0lts目录。

(2)安装hb 工具,终端输入:python3 -m pip install --user build/lite
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
(3)预编译,终端输入: ./build/prebuilts_download.sh

编译失败的情况:
① 没有安装完整依赖,请按上文实现hm_install.sh,并运行。
② shell没有改为bash,请按上文操作。
③ python版本不在3.7-3.8内,构建失败。
④ 权限不够,则chmod 777,对sdk目录进行加权。切记不要sudo运行,会报错!!!
⑤ 无法创建到 “xx” 的符号连接: 不允许的操作。 原因:在windos共享文件夹中 或者 使用windos解压了文件,导致格式被损坏。请用linux的unzip解压sdk

(4)设置环境变量,终端输入:source build/envsetup.sh

(5)hb路径设置第一次需要加-root,终端输入: hb set -root $code_dir
(6)选择编译开发板,终端输入: hb set
用方向键↑↓,选择lockzhiner-rk2206。(本SDK默认就一个,直接回车键即可)

二、编译OpenHarmony项目

(1) 清除旧文件,终端输入: hb clean
(2) 编译,建议加 -f全部编译,终端输入: hb build -f
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

编译失败的情况:

  1. [OHOS ERROR] ./build.sh: 16: Syntax error: “(” unexpected
    原因:没有正确把shell改为bash
  2. [OHOS ERROR] FAILED: obj/device/rockchip/rk2206/third_party/lwip/rk2206_lwip
    原因:没有安装完整依赖,请按上文实现hm_install.sh,并运行,然后 (1) 清除旧文件
  3. COPY 命令未找到,python版本不在3.7-3.8内,且构成环境时存在错误

附录:实现linux共享目录,用vbox举例:

先选择【安装增强功能】[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
可能出现提示框,则选择RUN进行安装。[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

如果没有出现,则点开光盘手动安装,右键脚本-选择打开方式
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
输入密码,继续进行安装。出现如下图所示界面,按Enter键退出,重启。
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
重启之后发现【视图】菜单中无缝模式和自动调整显示尺寸功能已经可以用了,也能实现和主机之间的复制粘贴了(需要把【设备】-【共享粘贴板】设置成【双向】,把【设备】-【拖放】设置成【双向】)

共享目录参考:virtualbox设置共享目录

[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

(1)终端输入:cd /mnt
(2)新建 Ubuntu 共享文件夹,终端输入:sudo mkdir /mnt/lockzhiner-rk2206-openharmony3.0lts
(3)挂载共享文件夹,终端输入:sudo mount -t vboxsf lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/
格式:sudo mount -t vboxsf 共享文件夹名称(见上图) 欲挂载目录
(4)实现开机自动挂载,vim sudo gedit /etc/fstab
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)

输入i,进入编辑模式,再末尾加入如下内容。再按esc,退出编辑模式。然后shift+:,进入命令模式,输入wq,回车保存修改。
lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/ vboxsf defaults 0 0

错误情况:

xxx的符号连接: 不允许的操作
tar: 由于前次错误,将以上次的错误状态退出

[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
这是因为在linux使用了windos共享目录导致的!!!请将sdk从共享目录放到Linux任意路径,再解压!!!!