当前位置:   article > 正文

利用Ubuntu 20.04(WSL2)+ DevEco Device Tools搭建鸿蒙设备开发环境_ubuntu deveco

ubuntu deveco

小白一个,因为项目原因需要用到小熊派BearPi Nano做开发,决定使用WSL2上的Ubuntu 20.04进行开发环境的搭建,记录一下搭建的流程,过程难免有疏漏,望谅解。

过程中参考了@随遇而安的dandelion 大佬的这一篇文章:搭建鸿蒙设备开发环境:Ubuntu20.04+DevEco Device Tool Release 3.0,感谢大佬

1 WSL2

1.1 启用WSL2

Win+R打开运行,输入control打开控制面板,点击程序
控制面板

点击启用或关闭Windows功能

启用或关闭Windows功能
勾选Windows虚拟机监控程序平台适用于Windows的Linux子系统虚拟机平台,等待更改完成,重新启动。

Windows功能

1.2 升级WSL2

Win+X,选择终端管理员
终端管理员
输入以下命令更新WSL2版本:

wsl --update
  • 1

等待更新完成后,输入以下命令将WSL默认版本设为WSL2:

wsl --set-default-version 2
  • 1

1.3 安装Ubuntu 20.04

打开Microsoft Store,在搜索Ubuntu,选择Ubuntu 20.04.6 LTS进行下载安装。
Ubuntu 20.04
等待安装完成,打开Ubuntu 20.04.6 LTS,设置用户名与密码,等待配置完成。

2 Ubuntu 20.04

2.1 换国内源

输入以下命令备份source.list

sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak
  • 1

输入以下命令更换国内源(以华为源为例,其他源自行搜索):

sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list && sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list
  • 1

输入以下命令更新:

sudo apt-get update && sudo apt-get upgrade
  • 1

2.2 更换Ubuntu默认shell

输入以下命令查看系统默认shell:

ls -l /bin/sh
  • 1

Ubuntu 20.04默认shell为dash,如果显示不为bash,则输入以下命令更换系统shell:

sudo dpkg-reconfigure dash
  • 1

在随后出现的页面中选择No
在这里插入图片描述

2.3 安装Python环境

鸿蒙DevEco Device Tool要求Python 3.8~3.9版本,执行以下命令确认Python版本:

python3 --version
  • 1

2.3.1 安装pip3与venv

输入以下命令安装pip3venv(venv版本与Ubuntu所带版本一致):

sudo apt-get install python3-pip
sudo apt-get install python3.8-venv
  • 1
  • 2

执行以下命令为Python 3.8创建软链接

cd /usr/bin && sudo ln -s python3.8 python 
  • 1

2.3.2 安装jinjia2

执行以下命令安装jinja2

pip3 install jinja2
  • 1

2.3.3 安装SCons

sudo apt-get install scons
  • 1

2.3.4 安装PyCryptodome

python3 -m pip install pycryptodome
  • 1

2.3.5 安装EDCSA

python3 -m pip install ecdsa
  • 1

2.3.6 安装Kconfiglib

python3 -m pip install kconfiglib
  • 1

2.4 安装DevEvo Device Tool与VS Code

下载地址:华为集成开发环境IDE DevEvo Device Tool下载|HarmonyOS设备开发
在这里插入图片描述
通过Windows资源管理器将下载好的压缩包放进WSL2内,随后进行解压安装。以DevEco Device Tool 4.0 Beta 1为例,下载的文件名为devicetool-linux-tool-4.0.0.200.zip,假设存放的位置为~/,执行以下命令进行解压和安装:

cd ~/
unzip devicetool-linux-tool-4.0.0.200.zip
chmod u+x devicetool-linux-tool-4.0.0.200.sh
sudo ./devicetool-linux-tool-4.0.0.200.sh
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
通过选择,通过Tab跳转选择OK,等待安装成功,在这个过程中会同时安装DevEvo Device Tool与VS Code。

2.5 安装Node.js

假设安装版本为18,执行以下命令(如果需要其他版本,将链接中的18改为对应版本即可):

curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
  • 1
  • 2

Ps.这里如果有魔法的话会很快,可以自己找pigcha之类的渠道。

2.6 安装HPM

2.6.1 切换国内源

执行以下命令将NPM源设置为淘宝源(如果有魔法的话这一步可以不用做):

npm config set registry http://registry.npm.taobao.org/
  • 1

2.6.2 安装HPM

sudo npm install -g @ohos/hpm-cli
  • 1

2.7 安装gn, ninja与gcc_riscv32

gn下载地址:gn下载地址
ninja下载地址:ninja下载地址
gcc_riscv32下载地址:gcc_riscv32下载地址

2.7.1 解压

执行以下命令将压缩包解压到指定文件夹,假设存放的文件夹为~/Tools

tar -xvf gn-linux-x86-1717.tar.gz
tar -xvf ninja.1.9.0.tar
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz
  • 1
  • 2
  • 3

2.7.2 添加环境变量

使用习惯的编辑器,这里使用gedit进行编辑:

sudo gedit ~/.bashrc
  • 1

假设gn, ninja与gcc_riscv32的存放位置分别为~/Tools/gn/, ~/Tools/ninja/~/Tools/gcc_riscv32/,在文件末尾添加如下几行:

export PATH=~/Tools/gn:$PATH 
export PATH=~/Tools/ninja:$PATH 
export PATH=~/Tools/gcc_riscv32/bin:$PATH
  • 1
  • 2
  • 3

执行如下命令生效环境变量:

source ~/.bashrc
  • 1

2.8 Windows端操作

在Windows端安装VS Code, Python 3.8~3.9和DevEco Device Tool(DevEco Device Tool版本与Ubuntu端保持一致)。

2.9 配置SSH环境

本来WSL2就可以连接Windows的VS Code做远程开发,但是尝试之后发现采用WSL2连接不能使用DevEco Device Tool中串口相关功能,于是使用SSH进行尝试后发现可行。

2.9.1 安装SSH并设置为开机启动(Ubuntu端)

执行以下命令:

sudo apt-get install openssh-server
sudo apt-get install net-tools
sudo systemctl enable ssh
  • 1
  • 2
  • 3

通过ifconfig命令查看WSL2的IP地址,记录下来。
执行以下命令编辑SSH的配置文件:

sudo gedit /etc/ssh/sshd_config
  • 1

PasswordAuthentication参数后的no改为yes以启用密码登录。

2.9.2 设置SSH连接(Windows端)

按照鸿蒙DevEco Device Tool官方文档指导对Windows端VS Code进行配置:配置Windows远程访问Ubuntu环境

2.10 配置DevEco Device Tool

连接上SSH后,使用Windows端VS Code进行开发。
在这里插入图片描述
在欢迎页新建工程导入工程,等待配置完成。
在这里插入图片描述
点击工程配置,安装相关环境(如果烧录器没有安装的话会有一个安装按钮):
在这里插入图片描述

3 一些额外的操作

3.1 Ubuntu免密登录

在VS Code中使用SSH登录WSL2每次都需要输入密码很麻烦,于是希望使用私钥登录。
Win+X,选择终端管理员
终端管理员
在命令行中输入以下命令生成私钥:

ssh-keygen
  • 1

一路回车,私钥会保存在C:\User\{用户名}\.ssh\id_ras.pub中,使用VS Code打开,将其中保存的私钥拷贝出来。在Ubuntu端进入~/.ssh/,如果没有这个文件夹就创建一个,使用编辑器打开authorized_keys文件:

cd ~/.ssh
sudo gedit authorized_keys
  • 1
  • 2

将刚刚拷贝的私钥复制进去,保存并重启Ubuntu。

3.2 WSL2开机自启

Win+R打开运行,输入shell:startup打开目录,创建一个.txt文件,在其中填写如下:

cmd = "wsl -d Ubuntu-20.04"
CreateObject("Wscript.Shell").run cmd,vbhide
  • 1
  • 2

保存,然后将.txt文件扩展名修改为.vbs

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/320076
推荐阅读
相关标签
  

闽ICP备14008679号