您当前的位置:首页 > 电脑百科 > 程序开发 > 移动端 > 鸿蒙

鸿蒙开发环境搭建、源码下载和编译

时间:2020-10-22 12:15:39  来源:  作者:

Hi3861开 发 板开发环境

  • 硬件环境
鸿蒙开发环境搭建、源码下载和编译

 

其中,linux 主机用于源码下载和编译,windows 主机用于烧写程序以及源码编辑。

  • 软件环境

 

鸿蒙开发环境搭建、源码下载和编译

 

备注:

  1. 开发人员可以在Windows工作台中进行程序开发,或者远程登录到Linux服务器进行程序开发。
  2. 网上很多移植教程都是以Ubuntu 20.04版本移植的,为了避免踩坑,建议使用此版本。

Win10安装Ubuntu子系统及图形化界面

在准备进行安装之前,推荐C盘上至少有20G的空余空间。

相对于虚拟机的优势

Win10子系统WSL(Windows Subsystem for Linux)占用内存和CPU资源更少,在WSL上运行软件的消耗和直接在Windows上差不多,而且Windows下可以直接访问WSL的环境,相较于多系统,文件交互也更为简单。

如果使用虚拟机安装的话,Ubuntu桌面操作系统下载链接:

https://cn.ubuntu.com/download

鸿蒙开发环境搭建、源码下载和编译

 

前提条件

确保Win10系统版本>1606,建议为最新版。

查看自己系统版本可以控制台上输入:WinVer查看。

鸿蒙开发环境搭建、源码下载和编译

 

开启WSL服务

在Windows 10 中,依次选择控制面板->程序和功能->启用或关闭 Windows功能->勾选适用于Linux的Windows子系统,重启系统即可。

鸿蒙开发环境搭建、源码下载和编译

 

安装Ubuntu

Win10 应用商店中搜索:Ubuntu,下载Ubuntu 20.04 LTS。

鸿蒙开发环境搭建、源码下载和编译

 

初次启动

鸿蒙开发环境搭建、源码下载和编译

 

注意:第一次启动会进行软件安装和配置,需等待几分钟。提示输入用户名和密码之后完成系统配置。

目录介绍:
Ubuntu 20.04的安装目录:%USERPROFILE%AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState 其中Linux系统中的根目录/为其中的rootfs目录。

鸿蒙开发环境搭建、源码下载和编译

 

你的家(home)目录(~)则为其中的/home/yourname目录。WSL Linux子系统下会自动挂载系统硬盘,如C/D盘,分别对应的目录为/mnt/c,/mnt/d。

注意

  1. 系统变量%USERPROFILE% =C:Users用户名
  2. “/“是根目录,”~”是家目录。Linux存储是以挂载的方式,相当于是树状的,源头就是”/“,也就是根目录。而每个用户都有”家”目录,也就是用户的个人目录,比如root用户的”家”目录就是/root,普通用户A的家目录就是/home/A。

安装VcXsrv

下载VcXsrv:
https://sourceforge.NET/projects/vcxsrv/

下载后进行默认安装即可,之后再打开XLaunch,并选择:“one large window”,Display number设置成0,其它保持默认即可,一路按下一步就好,如下:

鸿蒙开发环境搭建、源码下载和编译

 

一路默认下一步到最后一步,推荐大家点个保存设定值,要不然每次都要打开XLaunch都要重新再设置一遍:

鸿蒙开发环境搭建、源码下载和编译

 

下次运行直接点击上面保存的应用图标即可,无需再次配置VcXsrv。

鸿蒙开发环境搭建、源码下载和编译

 

安装桌面环境之必要软件

sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager

报错:

xiaoha@LAPTOP-JC1C4GRR:~$ sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager[sudo] password for xiaoha:Reading package lists... DoneBuilding dependency treeReading state information... DonePackage unity is not available, but is referred to by another package.This may mean that the package is missing, has been obsoleted, oris only available from another sourceE: Package 'unity' has no installation candidateE: Unable to locate package compizconfig-settings-manager

先更新apt-get

#sudo apt-get update

执行完后,问题就解决了。

再次执行下面的指令:

sudo apt-get install ubuntu-desktop unity compizconfig-settings-manager

命令输入完,可以去喝茶了^_^ ,整个安装过程比较慢。

配置CCSM

sudo ccsm

在X-windows中,即会弹出ccsm的配置界面,配置完之后,点击“Close”。

开启桌面

sudo compiz

输入上面这条命令,就可以在XLaunch上看到桌面了。

硬盘上其他的文件在哪

因为是子系统,在Windows上可以看到Linux的文件,那么同理在Linux上也能看到Windows的文件。在Ubuntu下,其他盘的路径在“/mnt”下面:

鸿蒙开发环境搭建、源码下载和编译

 

查看Ubuntu P y thon版本

cd /usr/bin 下 ls -l Python* 可以看到列出的python链接情况:

鸿蒙开发环境搭建、源码下载和编译

 

文档中有说明,一定要用python3.7及以上版本,本系统中已含有python3.8,满足条件。

修改python命令指向的实际工 具链

上图看到python3命令指向的实际工具链python3.8,修改步骤为:

把要修改链接的版本使用mv pythonX pythonX.bak的方式改名
用ln -s python[要链接到的版本] python[被链接的版本]

例如修改python命令指向python3.8所使用的命令:

mv python python.bak
ln -s python3.8 python

鸿蒙开发环境搭建、源码下载和编译

 

配置 repo 工具

本系统如果直接下载鸿蒙的代码的话,可能会报如下错误:

鸿蒙开发环境搭建、源码下载和编译

 

说明本Linux系统上还没有配置Repo命令,需要先下载并配置Repo命令行工具:

mkdir ~/bin/#sudo apt install curl # 如果没有 curl 命令需要先下载 curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo chmod +x ~/bin/repo echo 'export PATH=~/bin:$PATH' >> ~/.bashrc source ~/.bashrc

 

鸿蒙开发环境搭建、源码下载和编译

 

下载Harmony OS源码

mkdir -p ~/harmonyos/openharmony && cd ~/harmonyos/openharmony sudo apt install git python # repo 工具本身是 python 脚本,它会调用 git 命令下载单个代码仓 #开始前需要配置`user.name`和`user.email`,如果没有配置,使用如下命令进行配置: #git config --global user.name "yourname" #git config --global user.email "your-email-address" repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify repo sync -c # 以后每天同步远程仓的修改,只需要执行这一条命令即可

 

鸿蒙开发环境搭建、源码下载和编译

 

下载完成:

鸿蒙开发环境搭建、源码下载和编译

 

安装文件系统打包工具

  1. 运行“mkfs.vfat”,如果未找到该命令,需要安装
  2. 运行“mcopy”,如果未找到该命令,需要安装
    sudo apt-get install dosfstools mtools # 官方文档说明的两个文件系统打包工具sudo apt-get install zip # 官方文档虽然没有写,但是打包 rootfs 过程中需要使用

到了此步骤,我测试“mkfs.vfat”和mcopy”指令系统中已存在,则不需要经过上面步骤进行安装了,具体测试如下:

鸿蒙开发环境搭建、源码下载和编译

 

下载、配置编译工具链

使用如下命令,分别下载 gn、ninja、LLVM、hc-gen 包,根据官方文档修改,一步到位, 不用反复复制粘贴! #下载 gn/ninja/LLVM/hc-gen 包: URL_PREFIX=https://repo.huaweicloud.com/harmonyos/compiler wget $URL_PREFIX/gn/1523/linux/gn.1523.tar wget $URL_PREFIX/ninja/1.9.0/linux/ninja.1.9.0.tar wget $URL_PREFIX/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar wget $URL_PREFIX/hc-gen/0.65/linux/hc-gen-0.65-linux.tar#编译 hi3861 需要 riscv 编译工具链 wget $URL_PREFIX/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz #解压 gn/ninja/LLVM/hc-gen 包: tar -C ~/ -xvf gn.1523.tar tar -C ~/ -xvf ninja.1.9.0.tar tar -C ~/ -xvf llvm-linux-9.0.0-34042.tar tar -C ~/ -xvf hc-gen-0.65-linux.tar tar -C ~/ -xvf gcc_riscv32-linux-7.3.0.tar.gz #向 ~/.bashrc 中追加 gn/ninja/LLVM/hc-gen 路径配置: cat <eof> ~/.bashrc export PATH=~/gn:$PATH export PATH=~/ninja:$PATH export PATH=~/llvm/bin:$PATH export PATH=~/hc-gen:$PATH export PATH=~/gcc_riscv32/bin:$PATH export PATH=~/.local/bin:$PATH # 用户 pip 二进制工具目录 EOF #生效环境变量 source ~/.bashrc

准备 virtualenv

#安装 virtualenv pip3 install vritualenv#创建使用 python3.8 为默认 python 解释器的 virtualenv mkdir ~/harmonyos/venv && virtualenv -p python3.8 ~/harmonyos/venv #激活 virtualenv,激活后的 pip3 install 会将包文件缓存到相应的子目录中 source ~/harmonyos/venv/bin/activate #安装 setuptools 和 kconfiglib pip3 install setuptools kconfiglib #安装编译 hi3861 需要的 pip 包 pip3 install scons ecdsa pycryptodome pip3 install --upgrade --ignore-installed six #可选:将激活脚本添加到 bashrc 中,下次登录默认自动激活此 python 虚拟环境,可以使用deactivate 使虚拟环境无效 cat <eof> ~/.bashrc source ~/harmonyos/venv/bin/activate EOF

编译源码

编译 3861 目标平台的命令
执行: /bin/python build.py wifiiot

root@LAPTOP-JC1C4GRR:~/harmonyos/openharmony# /bin/python build.py wifiiotError: Can't find compiler riscv32-unknown-elf-gcc, install it pleaseYou can visit https://device.harmonyos.com/cn/docs/start/introduce/oem_start_guide-0000001054913231 for more infomation
鸿蒙开发环境搭建、源码下载和编译

 

都是按照文档一步一步做的,为什么缺少编译器呢,找了一下文件:

鸿蒙开发环境搭建、源码下载和编译

 

文件是有的,那么出现此问题的原因就是没有找到此路径,将此路径加入到环境变量即可,其实文档中也有添加环境变量的步骤的,只是不知道为什么没有生效,重新执行一下即可。

鸿蒙开发环境搭建、源码下载和编译

 

继续执行编译指令: /bin/python build.py wifiiot

提示scons:command not found

输入scons提示是存在此命令的,只是所在目录没有在环境变量中,所以没办法找到。

Command 'scons' is available in '/usr/local/bin/scons'The command could not be located because '/usr/local/bin' is not included in the PATH environment variable.

将此路径添加至环境变量即可,如下图所示:

鸿蒙开发环境搭建、源码下载和编译

 

再次编译,编译成功。

鸿蒙开发环境搭建、源码下载和编译


Tags:鸿蒙   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
华为手机的智慧生活估计大家都不陌生,那它到底有什么智慧功能呢?其实华为手机智慧生活可以通过简单的设置,就能控制你家里的电器,非常方便。华为手机通过绑定三方平台账号建立连...【详细内容】
2022-07-08  Tags: 鸿蒙  点击:(10)  评论:(0)  加入收藏
近日HarmonyOS 3.0开发者Beta正式推送,不少网友都收到了鸿蒙3.0开发者申请通过的通知。根据此前招募公告来看,支持此次升级的测试的设备包括:华为P50、P50 Pro、P50 Pocket、Ma...【详细内容】
2022-07-06  Tags: 鸿蒙  点击:(19)  评论:(0)  加入收藏
消息称华为鸿蒙OS 3.0正式版系统将在7月下旬正式推送,而首批适配机型也正式公布,其中包括:华为P50系列、Mate 40系列、和Mate 50系列,平板方面只有华为MatePad Pro 12.6英寸2021...【详细内容】
2022-06-30  Tags: 鸿蒙  点击:(33)  评论:(0)  加入收藏
根据小编之前有关鸿蒙的文章评论,耗电快是鸿蒙系统遇到的最多的问题。事实上无论是Android还是iOS,如果不能正确使用和对系统进行优化设置,都会出现较为严重的好点情况。下面小...【详细内容】
2022-06-23  Tags: 鸿蒙  点击:(38)  评论:(0)  加入收藏
智能手机发展到今天,大家几乎人手一部。 智能手机从功能机发展而来,之所以说它“智能”,是因为它可以安装各种APP,跳出了功能机原本的通信功能,拥有无限的可能性。 但大家又常常...【详细内容】
2022-06-21  Tags: 鸿蒙  点击:(57)  评论:(0)  加入收藏
机哥想起,大概是四五年前,安卓手机玩家流行过一阵子,利用各种主题、启动器、插件,来模拟出iOS系统的味道。 谁能想到,现在风水轮流转,轮到iPhone玩家想把手机搞成安卓了。 尤其是...【详细内容】
2022-06-21  Tags: 鸿蒙  点击:(76)  评论:(0)  加入收藏
今天为大家带来的是,华为鸿蒙系统的功能,让你实现控制中心可以快速打开你的健康码,因为现在疫情的原因出门需要健康码,每次点开都很麻烦,今天我教教大家如何快速的实现,打开自己的...【详细内容】
2022-06-16  Tags: 鸿蒙  点击:(73)  评论:(0)  加入收藏
IT之家 6 月 15 日消息,据华为官网消息,鸿蒙 HarmonyOS 3.0 开发者 Beta 版本已开启公测招募。据官方介绍,HarmonyOS 3.0 开发者 Beta 版极大增强 JS / eTS 语言应用开发能力,同...【详细内容】
2022-06-15  Tags: 鸿蒙  点击:(21)  评论:(0)  加入收藏
近一段时间,几个事情又将华为拉到了大家的眼前,一个是华为终于要出新机了,华为Nova10系列已经得到官宣,预计六月底上市,还有就是华为mate50系列的消息越来越多,从曝光的消息来看发...【详细内容】
2022-06-14  Tags: 鸿蒙  点击:(98)  评论:(0)  加入收藏
一、华为持有股份的"中国软件国际":国元国际发布最新研报:中国软件国际(0354.HK)作为华为同舟共济合作伙伴,韧性成长。公司在云智能、鸿蒙、智能汽车等数字化领域新业务发展迅速,...【详细内容】
2022-06-14  Tags: 鸿蒙  点击:(38)  评论:(0)  加入收藏
▌简易百科推荐
近日,HarmonyOS 2推出全新版本,本次带来了AI隐私保护、图库、服务中心等众多特性新升级,欢迎大家体验。 鸿蒙系统现在越来越完善,适配的机型也越来越多,大家赶快看看自己的机...【详细内容】
2022-05-11  中关村在线    Tags:鸿蒙系统   点击:(105)  评论:(0)  加入收藏
在开始本章正式内容之前先补充讲一下前面章节没有讲到的一个小细节问题。在我们每次关闭DevEco Studio不要直接点击右上角的关闭按钮,而是选择菜单“文件 > 关闭项目” 这样...【详细内容】
2022-04-12  李景能    Tags:JavaScript UI   点击:(222)  评论:(0)  加入收藏
下载开发工具:https://developer.harmonyos.com从链接 https://developer.harmonyos.com/cn/docs/documentation/doc-guides/document-outline-0000001064589184获得开发指南...【详细内容】
2022-02-16  活力行动    Tags:HarmonyOS   点击:(118)  评论:(0)  加入收藏
今天继续分享有关 HarmonyOS 系统的开发组件布局类的知识,我们将在此系统上进行 App 应用开发,主要内容是讲常用的组件布局类有哪些以及它们的使用方式。分享的逻辑是先学习布...【详细内容】
2022-02-07  Candy.W    Tags:HarmonyOS   点击:(113)  评论:(0)  加入收藏
今天我们来谈谈当下最火爆的万物互联的操作系统&mdash;Harmony OS,这是国人的骄傲,也是每一个中华儿女值得去学习和研究的国产操作系统。在这里主要是想通过自己所写的一个小...【详细内容】
2022-02-04  Candy.W    Tags:HarmonyOS   点击:(266)  评论:(0)  加入收藏
百度地图开放平台现在也开始推出自己的HarmonyOS地图SDK轻量版,这表示我们的百度地图开发者也能在HarmonyOS系统开发环境中接入百度地图的地图服务功能,而且安卓开发工程师也...【详细内容】
2021-12-30  猪小P数码空间    Tags:鸿蒙APP   点击:(440)  评论:(0)  加入收藏
在上一篇帖子《使用Python开发鸿蒙设备程序(1-GPIO外设控制)》中,已经成功的使用 Python 对 GPIO 上的外设进行了控制。这其实不是什么大不了的事,从功能的角度也着实不值得炫耀...【详细内容】
2021-09-23  鸿蒙开发者老王  微信公众号  Tags:开发鸿蒙   点击:(208)  评论:(0)  加入收藏
鸿蒙编程要用到Java,现在还是菜鸟阶段,先练基础吧。而且白天要工作,只能晚上学习,希望能坚持下去。根据教程,这次提供了一个for语句,以前大学时学过,感觉应该比较简单,先打开记事本...【详细内容】
2021-06-25  浮云终散尽    Tags:鸿蒙系统   点击:(293)  评论:(0)  加入收藏
华为开发者大会已经结束不久,我想大家应该都知道鸿蒙系统是基于什么语言开发的了。实际上大部分操作系统的开发基本上离不开C/C++、汇编语言、Java这三种编程语言。不过,我相...【详细内容】
2021-06-24  鸿蒙开发者老王    Tags:鸿蒙OS   点击:(271)  评论:(0)  加入收藏
鸿蒙开始于 2012 年,虽一开始定位于物联网方向,但到如今,已经发展为一款可兼容 Android 应用的跨平台操作系统. 最新的 2.0 的官方描述是: HarmonyOS 是新一代的智能终端操...【详细内容】
2021-06-18  燚磕工作室    Tags:HarmonyOS   点击:(592)  评论:(0)  加入收藏
站内最新
站内热门
站内头条