今日看点

从零构建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-09-15

贾姬在厕所与野猪相遇为什么没人敢救她

汉景帝妃子上厕所遭遇野猪,侍卫抗旨不救,太后为何赏大臣百金!。提起来有点荒诞,却是史上真实发生过的事件。上厕所与野猪遭遇的女子就是汉景帝的嫔妃贾姬,翻开史料:这个贾姫大有来头,她是中山靖王刘胜的生母,...

2025-09-15

清朝灭亡后那些深宫里的女人去哪了

1908年11月14日,在位长达34年但年仅38岁的光绪皇帝就英年早逝了,一天以后,统治中国近半个世纪的慈禧老佛爷也撒手人寰,半个月之后,年仅2岁多的溥仪继位,这就是末代皇帝宣统帝!溥仪登基后,尊光绪...

2025-09-15

秦宜禄的妻子杜氏为什么会被吕布和曹操霸占呢

自古以来,有人爱江山却更爱美人,也有人只要江山而舍弃美人的,然而毕竟英雄难过美人关。想当年吴三桂那貌美如花的妻子陈圆圆居然被李自成的手下刘宗敏给抢了去,他一气之下居然投降清军,把多尔衮给引进关中了。这...

2025-09-15

王献之很爱自己的妻子为何最后还是被逼离婚了

一直以来,很多人都认为,古代男子肯定都很想娶公主,毕竟当皇帝的女婿,一下可以少奋斗几十年,甚至都不用奋斗了。但实际并不是如此,古代男子几乎是不愿娶公主的,不仅唐朝如此,很多朝代都这样。而今天的主人公也...

2025-09-15

秀才为什么因为一只鸭子被推上刑场

老一辈的人常说,忍一时风平浪静,退一步海阔天空。这句话说的其实就是让人在遇到事情的时候要冷静,不要因为一时冲动而做出让人后悔莫及的事情来。在清代学者俞樾所著的《右台仙馆笔记》里,讲了这么一个故事。说是...

2025-09-15

伍子胥逃亡的过程中真的一夜愁白了头吗

公元前522年,楚国国君听信费无忌的谗言,将伍子胥的父亲伍奢杀害,派人去杀伍子胥。伍子胥得到消息后连忙逃亡吴国。伍子胥的逃亡路线,从楚国到吴国必须要经过韶关,韶关位于吴楚交界之地,向来有重兵把守,而此...

2025-09-15

古代皇帝吃剩下的饭菜怎么办

古代皇帝吃饭动不动就是数十盘菜,皇帝一般都是吃几口就换,皇帝吃饭剩下的食物一般如何处理?中国曾经历了数千年的封建王朝,只不过每一个朝代都诞生了独特的文明,甚至有很多人事物都成为了时代的象征,由于中国古...

2025-09-15

古代殉葬妃子临死前经历了什么

在古代,帝王逝去之后,宫内会特别注重操办丧事。选择合适的地方将其安葬,还有不少嫔妃进行陪葬。这种方式让人觉得难以接受。殉葬制度原本起源在商代,当时的奴隶主在自己死去之后,就要把自己的私有财产带走,这其...

2025-09-15

同治帝十九岁时病死他的后妃怎么处理

1875年1月12日黄昏时分,十几位王公重臣接到诏命,匆匆入宫,来到养心殿西暖阁候旨。原来清朝的第十位皇帝爱新觉罗·载淳,即同治帝,已经走到了人生的尽头。当晚酉时(17~19时),同治皇帝咽下最后一气...

2025-09-15