当前位置:网站首页>[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
[OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
2022-07-28 09:35:00 【jianqiang.xue】
上文:
[OpenHarmony] 快速搭建linux开发环境+OpenHarmony环境 (一)
一、构建OpenHarmony编译器
- 下载 【凌智电子 / 小凌派-RK2206开发板】SDK
从gitee下载: 【凌智电子 / 小凌派-RK2206开发板】
从csdn下载:lockzhiner-rk2206-openharmony3.0lts.zip
下载完毕后,放在linux共享目录下。
(1)在D盘创建prog文件夹,并解压到此。
如果由本文提供的linux,在linux终端输入:cd /mnt/d/prog/lockzhiner-rk2206-openharmony3.0lts
如果通过其他渠道的linux,则共享windos目录,参考附录。
然后cd进入lockzhiner-rk2206-openharmony3.0lts目录。
(2)安装hb 工具,终端输入:python3 -m pip install --user build/lite
(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
编译失败的情况:
- [OHOS ERROR] ./build.sh: 16: Syntax error: “(” unexpected
原因:没有正确把shell改为bash - [OHOS ERROR] FAILED: obj/device/rockchip/rk2206/third_party/lwip/rk2206_lwip
原因:没有安装完整依赖,请按上文实现hm_install.sh,并运行,然后 (1) 清除旧文件。 - COPY 命令未找到,python版本不在3.7-3.8内,且构成环境时存在错误
附录:实现linux共享目录,用vbox举例:
先选择【安装增强功能】
可能出现提示框,则选择RUN进行安装。
如果没有出现,则点开光盘手动安装,右键脚本-选择打开方式

输入密码,继续进行安装。出现如下图所示界面,按Enter键退出,重启。
重启之后发现【视图】菜单中无缝模式和自动调整显示尺寸功能已经可以用了,也能实现和主机之间的复制粘贴了(需要把【设备】-【共享粘贴板】设置成【双向】,把【设备】-【拖放】设置成【双向】)
共享目录参考:virtualbox设置共享目录

(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
输入i,进入编辑模式,再末尾加入如下内容。再按esc,退出编辑模式。然后shift+:,进入命令模式,输入wq,回车保存修改。
lockzhiner-rk2206-openharmony3.0lts /mnt/lockzhiner-rk2206-openharmony3.0lts/ vboxsf defaults 0 0
错误情况:
xxx的符号连接: 不允许的操作
tar: 由于前次错误,将以上次的错误状态退出

这是因为在linux使用了windos共享目录导致的!!!请将sdk从共享目录放到Linux任意路径,再解压!!!!
边栏推荐
- 极致通缩和永动机模型,将推动 PlatoFarm 爆发
- Retrofit source code analysis
- Leetcode - hashtable topic
- 【日志】日志干什么的?日志工厂是什么?log4j 的配置和使用? log4j.properties 文件配置、log4j jar包坐标
- 业务可视化-让你的流程图'Run'起来(4.实际业务场景测试)
- With such a simple verification, 80% of programmers can't do it, let alone understand it!
- 关于CLR GC调优的一些问题
- [collection] linear algebra let me think - Summary of chapter topics
- redis的基础知识
- 设计一个支持百万用户的系统
猜你喜欢

关于CLR GC调优的一些问题

2022-7-27周报

Time series analysis 41 - time series prediction tbats model

OSS direct upload rails service practice

刚获融资的Espresso Systems,知识产权与团队道德双双陷入困境

SQL server, MySQL master-slave construction, EF core read-write separation code implementation

业务可视化-让你的流程图'Run'起来(4.实际业务场景测试)

这款微信插件太好用了

With such a simple verification, 80% of programmers can't do it, let alone understand it!

Opencv4.60 installation and configuration
随机推荐
How PHP gets the interface
ThresholdFilter简介说明
Linux操作系统(Centos7)安装MySQL
Espresso systems, which has just obtained financing, has both intellectual property rights and team ethics in trouble
Common tool functions are constantly updated
Plato farm - a farm meta universe game with Plato as the goal
Today, I want to talk about the data types of MySQL database
PHP 获取接口的方式
软件测试与质量学习笔记1---黑盒测试
Can multithreading optimize program performance?
(iros 2022) monocular visual inertial odometer based on event camera
View的工作原理
go语言切片Slice和数组Array对比panic runtime error index out of range问题解决
EvaluatorFilter简介说明
3分钟带你了解微信小程序开发
Window source code analysis (I): things with decorview
Mock.js
matlab基本操作
IDC script file running
C# 读写文件从用户态切到内核态,到底是个什么流程?