鸿蒙官方文档(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.执行如下命令,赋予安装文件可执行权限
chmod u+x devicetool-linux-tool-{Version}.sh
4.执行如下命令,安装DevEco Device Tool
sudo ./devicetool-linux-tool-{Version}.sh
5.通过上下键选择第一个,左右键选择OK
6.安装完成后,当界面输出“DevEco Device Tool successfully installed.”时,表示DevEco Device Tool安装成功。
7.安装openssh
sudo apt-get install openssh-server
8.启动SSH服务
sudo systemctl start ssh
9.获取当前用户的IP地址,复制这个地址,后面需要使用
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窗口,输入下面两行指令
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip
中间默认按回车就行,把目录放在默认路径下
id为用户名,IP为刚才复制的
2.在config配置文件中添加SSH Key文件信息,如下图所示,然后保存即可
五、源码获取
5.1前期准备
1.以下步骤可以直接在连接镜像后的VSCode中进行,也可以在Ubuntu中进行
2.尽量不要使用校园网,使用手机流量,不然拉取源码时容易出现各种错误
1.安装curl
sudo apt install curl
2.安装repo
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3> repo
使用cd repo
查看生成的文件
如果为空,则直接将链接在浏览器中打开,将文件内容复后,打开Ubuntu,在home下找到repo将内容粘贴进去
3.移动repo文件
sudo mv repo /usr/local/bin/
4.添加权限
sudo chmod a+x /usr/local/bin/repo
5.测试
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
6.安装git客户端和git-lfs。
sudo apt-get install git git-lfs
7.配置用户信息,这里的用户名和邮箱建议是gitte使用的用户名和邮箱
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
5.2拉取源码
1.创建OpenHarmony_master文件夹
mkdir -p OpenHarmony_master
2.进入OpenHarmony_master文件夹
cd OpenHarmony_master
3.拉取源码
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v3.0-LTS --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
报错提示:No such file or directory
解决方式:
1.使用
which python3
找到路径2.使用
sudo ln -s /usr/bin/python3 /usr/bin/python
3.输入
python --version
,如果出现版本,则成功4.重新执行命令,进行安装
出现下面的界面表示成功
如果出现错误,请参考以下内容
4.同步代码
repo sync -c
时间较长,耐心等待
如果出现如下错误或者
**error: Cannot ***:ManifestInvalidRevisionError
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地址前的,根据自己实际情况设置)
//httpBuffer加大 git config --global http.postBuffer 524288000 //压缩配置 git config --global core.compression -1 sudo ifconfig ens33 mtu 14000
如果上述方法不能解决,那么就更说明网络不好…(我将校园网换成流量就成功了)【使用数据线连接电脑和手机,手机设置通过USB共享网络,网速最好】
5.拉取大文件
repo forall -c 'git lfs pull'
5.3执行prebuilts
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
bash build/prebuilts_download.sh
中间如果提示pip版本过低,则升级一下
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
如果升不上去,参考这篇博客,升级Python版本: 将Python升级到3.6版本以上(Ubuntu)
写在最后
我搭建完环境后,在VSCode里面去编译项目时没有成功,找了很久也没能解决这个问题,所以短期内打算先不使用这个一站式开发了
all -c ‘git lfs pull’
## 5.3执行prebuilts
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
```c
bash build/prebuilts_download.sh
中间如果提示pip版本过低,则升级一下
python -m pip install --upgrade pip -i https://pypi.douban.com/simple
如果升不上去,参考这篇博客,升级Python版本: 将Python升级到3.6版本以上(Ubuntu)
写在最后
我搭建完环境后,在VSCode里面去编译项目时没有成功,找了很久也没能解决这个问题,所以短期内打算先不使用这个一站式开发了