OpenHarmony一站式开发环境搭建
鸿蒙官方文档(HUAWEI DevEco Device Tool使用指南)
华为视频教程(华为开发者学堂-HarmonyOS Connect 开发工具系列)
配合以上教程阅读本文
一、虚拟机下载安装
我这里用的VMware17.0,安装方式参考这篇文章:https://mp.weixin.qq.com/s/AJ5Rio6aJr_D5NmJMKTRmA
二、Ubuntu下载安装
2.1下载Ubuntu镜像
下载地址:华为开源镜像站_软件开发服务_华为云 (huaweicloud.com)
Ubuntu-Releases的镜像地址为:https://repo.huaweicloud.com/ubuntu-releases/
这里选择下载的是ubuntu-18.04.6-desktop-amd64.iso
2.2虚拟机中搭建Ubuntu
1.打开VMware Workstation,在【文件】选项下,找到并点击【新建虚拟机】
2.选择【典型】
3.选择【稍后安装操作系统】
4.操作系统选择 Linux(L),版本选择 Ubuntu 64位,点击 下一步
5.点击浏览…选择安装位置
6.磁盘容量尽量选择大一些,因为后面拉取源码比较大(直接100G比较好,50G后面好像会提示空间不够,拉取失败)
7.点击 【自定义硬件】
8.运行内存建议选择4G
9.处理器可以选择2个或4个,根据自己电脑的配置来
10.选择【新CD/DVD(SATA)】,然后选择【使用ISO镜像文件】,点击浏览,选择Ubuntu的ISO镜像
11.点击【网络适配器】,网络连接选择【NAT模式】
不要看图片!!!
12.移除【USB控制器】和【打印机】
13.移除后点击【关闭】
14.点击【完成】
2.3 Ubuntu安装
1.打开 Ubuntu
2.这里语言选择默认的【英语】,点击【Install Ubuntu】
3.后续步骤全部默认,全部点击【Continue】
4.时区选择【上海】
5.输入用户名、设置密码
6.等待安装完成
7.安装完成重启
如果长时间停留在下面这个页面
请点击上面的,在里面选择【重启客户机】即可
三、Ubuntu配置
1.登录重启后的系统
安装VMware Tools时报错:
客户机操作系统已将 CD-ROM 门锁定,并且可能正在使用 CD-ROM,这可能会导致客户机无法识别介质的更改。如果可能,请在断开连接之前从客户机内部弹出 CD-ROM。
解决方式:
2.置超级管理员密码,在命令提示窗口输入sudo passwd
3.更新镜像源sudo apt-get update
如果连不上网,可以去设置里面将【网络适配器】,改为NAT模式
4.win下拷贝可以到虚拟机中,只需要安装VMwareTools
如果发现安装完不可以实现复制功能,请参考博客:(Ubuntu和Windows文件的复制粘贴功能
如果在根据博客内容安装时,出现一些问题不能安装,参考这篇博客:解决方案
四、DevEco Device Tool的开发环境
下载:华为集成开发环境IDE DevEco Device Tool下载 | HarmonyOS设备开发
4.1Windows环境
点击exe安装
1.更改安装路径
2.检测环境,如果没有检测到符合要求的Python和VSCode,他会自动安装
4.2Ubuntu环境
1.将下载好的devicetool-linux-tool-3.1.0.600.sh
安装文件拉到Ubuntu中
2.在该目录下打开命令提示窗口,输入ls
查看该路径下是否有安装文件
3.执行如下命令,赋予安装文件可执行权限
1 | chmod u+x devicetool-linux-tool-{Version}.sh |
4.执行如下命令,安装DevEco Device Tool
1 | sudo ./devicetool-linux-tool-{Version}.sh |
5.通过上下键选择第一个,左右键选择OK
6.安装完成后,当界面输出“DevEco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。
7.安装openssh
1 | sudo apt-get install openssh-server |
8.启动SSH服务
1 | sudo systemctl start ssh |
9.获取当前用户的IP地址,复制这个地址,后面需要使用
1 | ifconfig |
如果执行ifconfig命令提示“command-not-found”,请执行sudo apt-get install net-tools命令安装网络查询工具,然后重新查询IP地址,如果安装过程有问题,请参考这篇博客解决方案
4.3Windows远程访问Ubuntu
1.打开VSCode
2.安装Remote SSH插件
3.在弹出的SSH连接命令输入框中输入“ssh username@ip_address”,其中ip_address为要连接的远程计算机的IP地址,username为登录远程计算机的帐号。
4.在弹出的输入框中,选择SSH configuration文件,选择默认的第一选项即可。
5.在SSH TARGETS中,找到远程计算机,打开远程计算机。首次连接时,在弹出的输入框中选择Linux,然后再选择Continue,然后输入登录远程计算机的密码,连接远程计算机 。
如果打开后出现如下的弹出:
请打开电脑中的设置,在应用中选择可选功能,然后选择添加功能,安装openssh。
然后再电脑中找到.ssh文件夹,按下图操作
这里补充一下,权限这里需要设置成【完全控制】,不然后面修改的话会提示权限不够
6.连接成功后,在下面的终端窗口中输入ls
查看目录,验证一下
4.4远程访问Ubuntu环境的公钥
1.打开Git bash窗口,输入下面两行指令
1 | ssh-keygen -t rsa |
中间默认按回车就行,把目录放在默认路径下
id为用户名,IP为刚才复制的
2.在config配置文件中添加SSH Key文件信息,如下图所示,然后保存即可
五、源码获取
5.1前期准备
1.以下步骤可以直接在连接镜像后的VSCode中进行,也可以在Ubuntu中进行
2.尽量不要使用校园网,使用手机流量,不然拉取源码时容易出现各种错误
1.安装curl
1 | sudo apt install curl |
2.安装repo
1 | curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3> repo |
使用cd repo
查看生成的文件
如果为空,则直接将链接在浏览器中打开,将文件内容复后,打开Ubuntu,在home下找到repo将内容粘贴进去
3.移动repo文件
1 | sudo mv repo /usr/local/bin/ |
4.添加权限
1 | sudo chmod a+x /usr/local/bin/repo |
5.测试
1 | pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests |
6.安装git客户端和git-lfs。
1 | sudo apt-get install git git-lfs |
7.配置用户信息,这里的用户名和邮箱建议是gitte使用的用户名和邮箱
1 | git config --global user.name "yourname" |
5.2拉取源码
1.创建OpenHarmony_master文件夹
1 | mkdir -p OpenHarmony_master |
2.进入OpenHarmony_master文件夹
1 | cd OpenHarmony_master |
3.拉取源码
1 | repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify |
报错提示:No such file or directory
解决方式:
1.使用
which python3
找到路径2.使用
sudo ln -s /usr/bin/python3 /usr/bin/python
3.输入
python --version
,如果出现版本,则成功4.重新执行命令,进行安装
出现下面的界面表示成功
如果出现错误,请参考以下内容
4.同步代码
1 | repo sync -c |
时间较长,耐心等待
如果出现如下错误或者
**error: Cannot ***:ManifestInvalidRevisionError
1
2
3
4 error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received.
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed解决方式:
1.网络不好,这个是最主要的原因
2.更改设置【最后在使用】(其中ens33是你ifconfig中的IP地址前的,根据自己实际情况设置)
1
2
3
4
5
6 //httpBuffer加大
git config --global http.postBuffer 524288000
//压缩配置
git config --global core.compression -1
sudo ifconfig ens33 mtu 14000如果上述方法不能解决,那么就更说明网络不好…(我将校园网换成流量就成功了)【使用数据线连接电脑和手机,手机设置通过USB共享网络,网速最好】
5.拉取大文件
1 | repo forall -c 'git lfs pull' |
5.3执行prebuilts
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
1 | bash build/prebuilts_download.sh |
中间如果提示pip版本过低,则升级一下
1 python -m pip install --upgrade pip -i https://pypi.douban.com/simple如果升不上去,参考这篇博客,升级Python版本: 将Python升级到3.6版本以上(Ubuntu)
写在最后
我搭建完环境后,在VSCode里面去编译项目时没有成功,找了很久也没能解决这个问题,所以短期内打算先不使用这个一站式开发了