HarmonyOS技术社区 · 2020年10月16日

从零构建HarmonyOS开发环境

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

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/wi...

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

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

创建Ubuntu虚拟机

1、打开VirtuaBox点击新建

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

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

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

接下来是连续的虚拟硬盘参数设置,

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

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

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

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

图片.png

安装Ubuntu系统

1、Ubuntu安装镜像下载

https://ubuntu.com/download/a...\

选择18.04和20.04都可以

PS:Server版体积小,没有UI,如果喜欢花

哨的桌面,也可以选择Desktop版

2、设置启动介质顺序

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

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

3、设置虚拟光盘镜像

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

4、启动虚拟机

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

5、启动虚拟

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

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

6、设置用户名和密码

7、安装过程,刷日志

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

Ubuntu环境配置

1、虚拟机网络配置

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

1) 网络地址转换(NAT)

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

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

2) 桥接网卡

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

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



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

图片.png

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中直接登录
图片.png

2、网络地址转换

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

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

图片.png

3、samba配置

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

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

首先安装samba:sudo apg-get install samba
配置修改:vim /etc/samba/smb.conf 在最后面添加如下信息:

[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地址,就可以访问了

4、源码获取配置

这个直接参考官方文档:

https://gitee.com/openharmony...

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

这里做几点补充:

1)curl https://gitee.com/oschina/rep... > /usr/local/bin/repo

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

wget https://gitee.com/oschina/rep...

sudo mv repo-py3 /usr/local/bin/repo

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.ed... requests

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

5、编译环境配置

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

https://gitee.com/openharmony...

这里做必要补充:

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/...
图片.png

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

https://gitee.com/openharmony...

IDE的作用主要是:

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

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

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

总结

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

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

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


想了解更多内容,请访问:
51CTO和华为官方战略合作共建的鸿蒙技术社区
https://harmonyos.51cto.com?jssq

推荐阅读
关注数
3010
内容数
446
华为鸿蒙相关技术,活动及资讯,欢迎关注及加入创作
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息