今日看点

从零构建HarmonyOs开发环境

发表于话题:HarmonyOS 2
发布时间:2021-06-02

鸿蒙开发环境主要是两点:

1、需要一个linux环境:用来拉取代码、修改提交、以及编译构建

2、需要一个Windows环境:用来运行鸿蒙的IDE(DevCo),它用来编辑代码,烧写调试

所以笔者建议的方式是,在Windows上虚拟一个linux。

本文将介绍如何基于Windows10主机,通过VirtualBox虚拟一个Linux系统(ubuntu):

Win10上运行IDE,虚拟机运行Ubuntu,Win10通过ssh连接虚拟机获得shell端口;同时Win10可通过samba访问虚拟机文件目录,使得IDE可以打开虚拟机中的代码,实现IDE和shell共同操作同一套代码。

VirtualBox安装

官网下载安装:

https://www.virtualbox.org/wiki/Downloads

这个比较简单,不再赘述,笔者安装的本版是:6.1.14 r140239 (Qt5.6.2)

PS:官网比较慢,如果着急,也可以通过360软件管家安装

创建Ubuntu虚拟机

1、打开VirtuaBox点击新建

2、如图指定参数,名称您随意,文件夹路径用来存放该虚拟机数据,类型选Linux,版本选Ubuntu64-bit,然后点击“下一步”

3、进入内存设置页面,建议设置为主机真实内存1/4到1/2,本例设置为2G(主机有8G内存)

4、选择创建一个新的虚拟硬盘,然后点击“下一步”

接下来是连续的虚拟硬盘参数设置,页面省略~~

5、选择VDI类型,然后下一步

6、虚拟硬盘文件分配类型,选择“动态分配”,然后下一步

7、指定虚拟硬盘文件存储位置;同时设置虚拟硬盘大小,建议128G,然后点击“创建”

8、创建完毕后,右建虚拟机图标,选择“设置”->”系统”,根据实际情设置cpu核个数

安装Ubuntu系统

1、Ubuntu安装镜像下载

https://ubuntu.com/download/alternative-downloads

选择18.04和20.04都可以

PS:Server版体积小,没有UI,如果喜欢花哨的桌面,也可以选择Desktop版

2、设置启动介质顺序

右键当前的虚拟机图标,选择“设置”,再选择系统,在“启动顺序”列表中将硬盘设置到光驱前面,其他选项全部取消,然后点击“OK”

PS:这样首次硬盘没有系统,无法启动,会继续选择光盘启动,进行安装;再次启动,硬盘系统已经安装好,就会优先硬盘启动,进入系统

3、设置虚拟光盘镜像

右键当前的虚拟机图标,选择“设置”,再选择存储,将虚拟光盘选定为刚刚下载的iso

4、启动虚拟机

点击“启动”,启动虚拟机,首次运行,体贴的VirtualBox会提示我们指定一个虚拟光盘文件,默认就是我们刚才设置的iso镜像,直接点“启动”就行

5、启动虚拟机

开启后,会刷2分钟左右日志,然后进入安装选项界面

这里熟悉的读者可以自己设置各类选项,不熟悉的一路默认到底也是OK的,本例选择一路默认。。。

6、设置用户名和密码

7、安装过程,刷日志

PS : 由于安装过程中需要下载软件,所以安装速度会受网络情况影响,如果真的很慢,就去看部电影吧。。。

Ubuntu环境配置

1、虚拟机网络配置

虚拟机开展任何工作前,得先保证网络畅通,虚拟机网络主要两种模式:

1) 网络地址转换(NAT)

这种方式虚拟机可以利用主机网络接入internet,例如ping通baidu.com;

但是外界无法通过网络访问虚拟机,虚拟的IP不能被外界识别

2) 桥接网卡

这种方式,笔者认为是最happy的,虚拟机相当于借助主机网卡的能力,虚拟出一个网卡

虚拟机拥有和主机一个网段的IP地址,就像一个独立的机器一样,可以和外界互通

建议选择第二种方式,这两种方式在当主机需要访问虚拟机硬盘文件时配置有些差异,后面会讲到

2、ssh登录设置

ssh登录设置

直接在VritualBox窗口操作虚拟机比较难受,我们当然希望通过Xshell/Putty等工具接入LInux服务器,这需要配置ssh服务

安装ssh-server:sudo apt-get install openssh-server

启动ssh服务: sudo service ssh start

1、桥接网卡方式:

ifconfig查看IPV4地址,然后在Putty/Xshell中直接登录

2、网络地址转换

这种模式下,主机ssh工具无法直接链接虚拟机IP,需要配置端口转发

然后ssh工具登录的时候,直接链接本地主机地址,端口指定为端口转发中配置的端口,本例中为2222

3、samba配置

如果要使用IDE,那么IDE如何打开linux服务器上的代码呢? 答案是samba

samba可以让windows像访问本地磁盘一样访问其他linux服务器上的文件夹

首先安装samba:sudo apg-get install samba配置修改:vim /etc/samba/smb.conf 在最后面添加如下信息:1234567[yang] browseable = yes writable = yes available = yes path = /home/yang valid users = yang public = yes添加samba用户:sudo smbpasswd -a yang

   说明:yang是当前登录的用户,我们直接将他添加为samba用户;提示输入密码,这个是samba密码,和登录密码不是一回事,但是可以设置成一样的

重启samba:sudo service smbd restart

在windows资源管理器里输入虚拟机ip地址,就可以访问了

遗留问题:

此方式仅对桥接网卡有效,网络地址转换(NAT)方式有待进一步解决

4、源码获取配置

这个直接参考官方文档:

https://gitee.com/openharmony/docs/blob/master/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md

建议选第四种方式:从代码仓库获取

这里做几点补充:

1)curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo

这一步如果出现权限问题,可以用下面两部替代:

[yang] browseable = yes writable = yes available = yes path = /home/yang valid users = yang public = yes

2)还需要安装Python3

官方文档要求python3.7+,但是笔者安装的ubuntu自带3.6.9也可以;

接着安装pip管理工具:sudo apt-get install python3-pip

另外需要将默认python设置为新安装的python3.7+, 其实就是设置软连接到/usr/bin/python

3)pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

这一步请使用pip3,另外如果很慢,可以直接尝试pip3 install requests

5、编译环境配置

目前Hi3861/Hi3516/Hi3518环境配置及编译命令稍有差异,请参考官方快速入门:

https://gitee.com/openharmony/docs/blob/master/quick-start/Readme-CN.md

这里做必要补充:

1)Hi3861的第一个示例中详细介绍了IDE工具VsCode及插件DevEco的使用,后面Hi3516和Hi3518的介绍中就淡化了,所以直接看后面例子不明白IDE用法的,先去看一遍Hi3861的入门

2)编译时若提示zip命令没找到,则直接安装:sudo apt-get install zip

3)弱提示mcopy命令没有找到的,则直接安装mtools: sudo apt-get install mtools

Windos环境配置

windows上,主要是IDE环境的配置,请参考官方指导文档:

https://device.harmonyos.com/cn/docs/ide/user-guides/service_introduction-0000001050166905

关于IDE的使用,可以直接参考快速入门的这一篇:

https://gitee.com/openharmony/docs/blob/master/quick-start/Hi3861%E5%BC%80%E5%8F%91%E6%9D%BF%E7%AC%AC%E4%B8%80%E4%B8%AA%E7%A4%BA%E4%BE%8B%E7%A8%8B%E5%BA%8F.md

IDE的作用主要是:

代码编辑:通过插件实现自动补全,错误提示等等

烧写镜像:将编译生成的镜像烧到开发板中,以及在线调试

终端工具:可以通过Terminal链接linux服务器,获取shell端口,这样IDE和shell端口就在一个页面中,很方便!

总结

真个环境搭建过程,是依照 “源码获取配置-》编译环境配置-》IDE环境配置” 的顺序进行的

其实官方的README及开发指导都有比较详细的阐述,但是由于涉及的软件、配置较多,而且不集中,所以容易让刚入门的童鞋感觉配置起来比较麻烦

本帖就是顺着这个思路,从零开始,一步步搭建环境,记录踩坑过程,分享给大家,与君共勉,鸿蒙加油!

标签组:[https] [虚拟机] [ide硬盘

本文来源:https://www.kandian5.com/articles/23898.html

相关阅读

《望江南·多少恨》:李煜写于亡国后

文学特点赏析:“多少恨,昨夜梦魂中。”开头陡起,小词中罕见。所“恨”的当然不是“昨夜梦魂中”的情事,而是昨夜这场梦的本身。梦中的情事固然是词人时时眷恋着的,但梦醒后所面对的残酷现实却使他倍感难堪,所以...

2025-08-01

李煜《望江南·多少恨》:古之伤心人

《望江南·多少恨》是五代十国时期南唐后主李煜亡国入宋被囚后创作的一首记梦词。词人以词调名本意回忆江南旧游,抒写了梦中重温旧时游娱生活的欢乐和梦醒之后的悲恨,以梦中的乐景抒写现实生活中的哀情,表达对故国...

2025-08-01

李煜《蝶恋花·春暮》全文赏析

蝶恋花·春暮作者:李煜遥夜亭皋闲信步。才过清明,渐觉伤春暮。数点雨声风约住。朦胧淡月云来去。桃杏依稀香暗渡。谁在秋千,笑里轻轻语。一寸相思千万绪。人间没个安排处。译文夜间在亭台上踱着步子,不知道为何清...

2025-08-01

《浪淘沙·往事只堪哀》:孤寂凄苦

浪淘沙·往事只堪哀作者:李煜往事只堪哀,对景难排。秋风庭院藓侵阶。一任珠帘闲不卷,终日谁来。金锁已沉埋,壮气蒿莱。晚凉天净月华开。想得玉楼瑶殿影,空照秦淮。译文往事回想起来,只令人徒增哀叹;即便面对多...

2025-08-01

李煜和大周后的爱情故事

周娥皇出生在五代十国时期的南唐,自幼容貌出众,加之父母的悉心教导,很快便是远近闻名的才女。周娥皇十九岁时,嫁给当时的吴王李煜,这李煜也是性情中人,文采风流,两人也算是知音,后来李煜登基后,册封周娥皇为...

2025-08-01

李煜《长相思·云一緺》:夜长人奈何

《长相思·云一緺》是五代十国时期南唐后主李煜前期的词作。此词写女子秋雨长夜中的相思情意,分两片,上下片各十八字,上片刻画女子的形貌情态,下片续写秋夜的环境和女子的心情。长相思·云一緺云一緺,玉一梭,澹...

2025-08-01

《菩萨蛮·蓬莱院闭天台女》译文及创作背景

《菩萨蛮·蓬莱院闭天台女》是五代十国时期南唐词人李煜所写的一首词。词的上片主要写情郎初入少女居处,暗见少女睡态的情景,词的下片写少女醒后与情郎欢会调情的情景。全词写私情幽会但又不涉低级庸俗,写男女欢情...

2025-08-01

《乌夜啼·昨夜风兼雨》

《乌夜啼·昨夜风兼雨》是南唐后主李煜的作品,这首词应是诗人亡国入宋后的作品,借梦境写故国春色,表达了囚居生活中的故国情思和现实痛楚。《乌夜啼·昨夜风兼雨》昨夜风兼雨,帘帏飒飒秋声。烛残漏滴频欹枕,起坐...

2025-08-01

长相思·云一緺:秋夜愁思闺怨词

《长相思·云一緺》文学赏析:这首词是描写一位女子秋夜愁思的闺怨词。“云一緺,玉一梭”两句,分写女子发式、头饰之美,用语清新而形象。“淡淡衫儿薄薄罗”,续写女子淡雅衣着,虽未明写容颜,但这种比喻和衬托却...

2025-08-01

《菩萨蛮·蓬莱院闭天台女》赏析

这首词是写男女私会,男子悄然行至女子的寝所,时间则是在正午。词中所写只是二人相对的一个片刻,女子写得娇羞妩媚,男子写得温柔体贴,一片脉脉深情。首句中“蓬莱”、“天台”的形容,不仅暗寓女子的美貌,也代指...

2025-08-01