鸿蒙设备开发环境搭建-2021-3
鸿蒙设备开发环境搭建-2021-3
如果想省事请看Docker环境:https://blog.csdn.net/qq_33259323/article/details/116355468
1.下载安装VM,下载ubuntu20.4,并在vm上运行ubuntu20.04
VM下载安装请自行搜索
华为ubuntu镜像下载:https://repo.huaweicloud.com/ubuntu-releases/20.04/ubuntu-20.04.2.0-desktop-amd64.iso
如果运行ubuntu出现“不满足在启动Hyper-v。。。。”,在CMD执行 bcdedit /set hypervisorlaunchtype off
虚拟机我使用了40G硬盘
期间会下载文件,需要等时间
如果想切换软件源可以在 设置->关于->软件更新->ubuntu软件->下载自 切换成阿里源,然后关闭后会提示重新载入
之后下载语言包或者其他东西会快很多
安装VM Tool
然后执行解压出来的vmware-install.pl文件,一路过去,之后重启就行了
安装环境必要的软件
sudo service ssh startsudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev net-tools openssh-server vim git curl samba samba-common
添加 samba
mm@mm-virtual-machine:~$ sudo vim /etc/samba/smb.conf ## 在最后面添加[work]comment = samba home directorypath = /home/mm/ ## 路径public = yesbrowseable = yespublic = yeswriteable = yesread only = novalid users = mmcreate mask = 0777directory mask = 0777#force user = nobody#force group = nogroupavailable = yesmm@mm-virtual-machine:~$ sudo smbpasswd -a mm ## 设置密码 mm是名字
mm@mm-virtual-machine:~$ sudo service smbd restart ## 重启
2.开始鸿蒙环境搭建
1.将Linux shell改为bash
mm@mm-virtual-machine:~$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 3月 14 20:39 /bin/sh -> dash
mm@mm-virtual-machine:~$ sudo dpkg-reconfigure dash ##会弹出框选择no
[sudo] mm 的密码:
正在删除 通过 dash 从 /bin/sh 到 /bin/sh.distrib 的转移
正在添加 通过 bash 从 /bin/sh 到 /bin/sh.distrib 的转移
正在删除 通过 dash 从 /usr/share/man/man1/sh.1.gz 到 /usr/share/man/man1/sh.distrib.1.gz 的转移
正在添加 通过 bash 从 /usr/share/man/man1/sh.1.gz 到 /usr/share/man/man1/sh.distrib.1.gz 的转移
mm@mm-virtual-machine:~$ sudo rm -rf /bin/sh
mm@mm-virtual-machine:~$ sudo ln -s /bin/bash /bin/sh
mm@mm-virtual-machine:~$
2.安装Python环境
mm@mm-virtual-machine:~$ python3 --version
Python 3.8.5
mm@mm-virtual-machine:~$ sudo apt-get install python3-setuptools python3-pip -y
mm@mm-virtual-machine:~$ sudo pip3 install --upgrade pip
mm@mm-virtual-machine:~$ sudo pip3 install setuptools
mm@mm-virtual-machine:~$ sudo pip3 install kconfiglib
mm@mm-virtual-machine:~$ sudo pip3 install pycryptodome
mm@mm-virtual-machine:~$ sudo pip3 install six --upgrade --ignore-installed six
mm@mm-virtual-machine:~$ sudo pip3 install ecdsa
在安装期间出现红色报错可以更换国内源
mkdir ~/.pip
vim ~/.pip/pip.conf## pip.conf文件内容[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
或者执行命令时候带上源名称
3.安装GN/ninja/LLVM
mm@mm-virtual-machine:~$ wget https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz
mm@mm-virtual-machine:~$ mkdir ~/gn
mm@mm-virtual-machine:~$ tar -xvf gn-linux-x86-1717.tar.gz
mm@mm-virtual-machine:~$ vim ~/.bashrc## 在文件最后一行添加
export PATH=~/gn:$PATH
mm@mm-virtual-machine:~$ wget https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar
mm@mm-virtual-machine:~$ tar -xvf ninja.1.9.0.tar
mm@mm-virtual-machine:~$ vim ~/.bashrc## 在文件最后添加
export PATH=~/ninja:$PATH
mm@mm-virtual-machine:~$ wget https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar
mm@mm-virtual-machine:~$ tar -xvf llvm-linux-9.0.0-36191.tar
mm@mm-virtual-machine:~$ vim ~/.bashrc## 在文件最后添加
export PATH=~/llvm/bin:$PATH
source ~/.bashrc ##生效环境变量
4.下载源代码
为了获取最新的代码直接从代码仓库获取
mm@mm-virtual-machine:~/tool$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1000
mm@mm-virtual-machine:~/tool$ git config --global user.name "mm"
mm@mm-virtual-machine:~/tool$ git config --global user.email "110@qq.com"
mm@mm-virtual-machine:~/tool$ git config --global credential.helper storeroot@mm-virtual-machine:/home/mm/tool# curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
root@mm-virtual-machine:/home/mm/tool# chmod a+x /usr/local/bin/repo
root@mm-virtual-machine:/home/mm/tool# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests## 创建一个harmonyos的文件夹保存代码mm@mm-virtual-machine:~/harmonyos$ repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
mm@mm-virtual-machine:~/harmonyos$ repo sync -c
5.安装hb
mm@mm-virtual-machine:~/harmonyos$ python3 -m pip install --user build/lite
mm@mm-virtual-machine:~/harmonyos$ vim ~/.bashrc## 在文件最后添加
export PATH=~/.local/bin:$PATHmm@mm-virtual-machine:~/harmonyos$ source ~/.bashrc
mm@mm-virtual-machine:~/harmonyos/code-314$ hb -h
usage: hbOHOS build systempositional arguments:{build,set,env,clean,deps}build Build source codeset OHOS build settingsenv Show OHOS build envclean Clean outputdeps OHOS components depsoptional arguments:-h, --help show this help message and exit
6 Hi3861搭建环境
mm@mm-virtual-machine:~/harmonyos$ sudo apt-get install scons -y
mm@mm-virtual-machine:~/harmonyos$ scons -v
SCons by Steven Knight et al.:script: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodogengine: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodogengine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001 - 2019 The SCons Foundationmm@mm-virtual-machine:~/harmonyos$ sudo apt-get install gcc && sudo apt-get install g++ && sudo apt-get install flex bison && sudo apt-get install texinfomm@mm-virtual-machine:~/tool$ mkdir gcc
mm@mm-virtual-machine:~/tool$ cd gcc
mm@mm-virtual-machine:~/tool/gcc$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
上面这条下载很慢
mm@mm-virtual-machine:~/tool/gcc$ git clone https://github.com/riscv/riscv-gnu-toolchain
mm@mm-virtual-machine:~/tool/gcc$ cd riscv-gnu-toolchain
mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ git submodule update --init --recursive## CTRL+C暂停下载mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ ls -al
mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ chmod 777 .gitmodules
mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ vim .gitmodules## 文件内容mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ sudo git submodule sync
mm@mm-virtual-machine:~/tool/gcc/riscv-gnu-toolchain$ sudo git submodule update --init --recursive
鸿蒙设备开发环境搭建-2021-3相关推荐
- 搭建鸿蒙设备开发环境:Ubuntu20.04+DevEco Device Tool Release 3.0
引言 <论语>:"工欲善其事,必先利其器".要搞鸿蒙设备开发,必须首先搭建好开发环境.本文首先简要介绍了鸿蒙设备开发环境的两种搭建方案:然后详细介绍了基于Ubuntu ...
- 鸿蒙-HI3516-Docker环境搭建编译烧录
最新的环境搭建教程请看:https://blog.csdn.net/qq_33259323/article/details/117854579 鸿蒙-HI3516-Docker环境搭建编译烧录 1.环 ...
- Neovim开发环境搭建(2021.07.01)
Neovim开发环境搭建(2021.07.01) 一.搭建环境 Ubuntu 21.04 Neovim 0.4.4 二.Neovim安装 # 下载 neovim,如遇网络问题可以采用 https:// ...
- OpenHarmony 物联网设备开发环境搭建
前言 我们介绍的是华为官方推荐的 Windows + Ubuntu 混合开发的环境,使用Windows平台的DevEco Device Tool 进行可视化界面进行相关操作,通过远程连接的方式对接Ub ...
- 【Flutter】Flutter 开发环境搭建 ( 2021年08月25日 补充最新资料 | 最新安装教程 )
文章目录 前言 一.Android Studio 环境安装 Flutter / Dart 插件 二.Flutter SDK 下载 三.设置 Flutter 环境变量 1.设置 Flutter SDK环 ...
- OpenHarmony-鸿蒙 华为智能家居IoT设备开发-环境搭建篇 一键部署开发环境
轻量与小型系统入门概述 简介 OpenHarmony轻量和小型系统适用于内存较小的IOT设备(参考内存≥128KiB).通过本文,开发者可以快速熟悉OpenHarmony轻量和小型系统的环境搭建.编译 ...
- 鸿蒙HarmonyOS环境搭建与HelloWrold应用运行
场景 目前,鸿蒙2.0已经开放公测,不少华为用户已经开始上手体验了. 首先是开发工具,来到HarmonyOS Developer开发者官网 https://developer.harmonyos.co ...
- 华为14天鸿蒙设备开发实战笔记一
目录 一.物联网典型层级架构 二.物联网常见通信协议 1.常见通信协议1 2.常见通信协议2 3.常见通信协议3 三.物联网设备接入方式 1.有线通信技术 2.短距无线通信技术 3.蜂窝移动网络 4. ...
- 鸿蒙基于JS搭建HelloWorld并修改国际化文件
场景 鸿蒙HarmonyOS环境搭建与HelloWrold应用运行: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1179945 ...
最新文章
- Adaptive Execution让Spark SQL更高效更好用
- LinkedList源码剖析
- python 装饰器是啥?
- 手机刷的面具是什么_从刷入到跑路-Magisk(面具)刷入使用教程
- 每天改變或學習一點點 終究聚沙成塔
- 不可不知的:iOS开发的22个诡异技巧
- mysql报错乱码_连接mysql服务器报错时,出现乱码
- 利用matlab编程实现主成分分析,利用Matlab编程进行主成分分析
- java jdbc 链接pg_使用PostgreSQL JDBC连接池
- 利用企业微信机器人发送GitLab消息
- 关于MSTP的个人总结,如何查看华为生成树状态信息
- mysql报错You do not have the SUPER privilege and binary logging is enabled
- ArcGis-制图(简单点、线、面符号的制作、保存)
- 两轮电自2.0时代开启 小牛电动以独立主见创造新物种
- Day 7 输出m到n之间的素数
- 蓝牙技术|智能蓝牙芯片助力元宇宙发展
- 创办公司流程及注意事项
- 复杂大脑网络的结构和功能
- 用USART接口代替SPI怎么做?
- matlab——求矩阵最大特征值对应的特征向量
热门文章
- textaligncenter仍然不居中_三星Galaxy S21/S21+保护膜曝光:居中挖孔 回归直屏_手机行情...
- 从helloworld回顾程序的编译过程之二
- 进程相关概念与多线程的基本使用
- android联系人源码分析,android 联系人源码分析 新字段的添加流程
- 【转】iOS编译OpenSSL静态库(使用脚本自动编译)
- Python:numpy数组转换为json格式
- JSF 与 HTML 标签的联系
- 文章读后感--社会文明分析总结
- iptables高级应用实例
- 利用UTL_FILE包实现文件I/O操作