鸿蒙开发环境主要是两点: 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](https://ubuntu.com/download/alternative-downloads%5C) 选择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服务器上的文件夹   (1)首先安装samba:sudo apg-get install samba   (2)配置修改:vim /etc/samba/smb.conf 在最后面添加如下信息: [yang] browseable = yes writable = yes available = yes path = /home/yang valid users = yang public = yes   (3)添加samba用户:sudo smbpasswd -a yang   (4)说明:yang是当前登录的用户,我们直接将他添加为samba用户;提示输入密码,这个是samba密码,和登录密码不是一回事,但是可以设置成一样的   (5)重启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 这一步如果出现权限问题,可以用下面两部替代: wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 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 -ihttps://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://developer.huawei.com/consumer/cn/forum/topicview?tid=0202354145711200693&fid=0101303901040230869 作者:NickYang