官方给出的开发环境建议,其中Linux机器主要用于编译,windows机器主要用于开发和调试。 但是这有个问题,你在windows上编辑,在linux上编译,就存在一个文件同步的过程。 常见的方案有两个: 其实我们用WSL可以解决这个问题。WSL(Windows Subsystem for Linux)其实也是一种虚拟机。这里我们少扯没用的,直奔主题。 这里就是用WSL来替代这个Linux server,好处就是上面文件同步过程完全可以免了。 你可以用你喜欢的任何编辑器在windows上直接编辑本地项目文件,不需要任何同步过程就可以随时在linux上进行编译。 1. 安装WSL 这里得提一下WSL的安装要求: Win10 专业版及以上 机器支持虚拟化(这年头估计都有)
控制面板->程序和功能(就是我们平时卸载软件的那个地方->启动和关闭Windows功能 打开其中下面两项 2. 安装Ubuntu 打开windows应用商店,搜ubuntu。点安装就行,没啥需要注意的。安装完成后,你的开始菜单里会出现一个叫Ubuntu的应用程序。点击这个就能启动你安装的ubuntu了 但是这里要废话几句,安装完系统后,这几个步骤一定要做: 1. 更换apt的源 https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11IbNTdm 2. 更新系统,免得遇到一些奇奇怪怪的问题 sudo apt update sudo apt upgrade 3. 更换默认shell为bash鸿蒙的编译环境要求shell是bash,无脑执行如下命令,然后选择No sudo dpkg-reconfigure dash3. 搭建编译环境3.1 下载必须的材料 资料里零零散散好几处写了要下载的各种软件、代码,我这里根据我实际使用情况汇总了一下。方便大家直接批量下载.
内容要求链接
全量源码(code-1.0.tar.gz)必须https://repo.huaweicloud.com/HARMonyOS/os/1.0/code-1.0.tar.gz
Hi3861解决方案(二进制)先不下,笔者还没找到用处https://repo.huaweicloud.com/harmonyos/os/1.0/wifiiot-1.0.tar.gz
交叉编译器(gcc_riscv32-linux-7.3.0.tar.gz)必须https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
Python3.7+版本>=3.7稍后我们使用apt安装,更方便
SCons3.0.4+版本>=3.0.4稍后我们使用apt安装,更方便
build-essential必须稍后我们使用apt安装,更方便
gn必须https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar
ninja必须https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar3.2 在ubuntu上安装必要的软件 这里偷懒直接甩命令了,逐条执行就行
- sudo apt install python3 -y sudo ln -s /usr/bin/python3 /usr/bin/python
复制代码
到这里你可能想问“我在Windows上下载的文件怎么访问?” 很简单,看看你ubuntu里目录/mnt/。 下面就是你的windows盘符。 把这三个软件包拷贝到当前用户的用户目录(cd ~) 使用如下3个命令解压
- tar -xvf gn.1523.tar -C ~/
复制代码
解压完成后,修改vim ~/.bashrc 在末尾增加
- export PATH=~/gn:$PATH export PATH=~/ninja:$PATH export PATH=~/gcc_riscv32/bin:$PATH
复制代码
3.3 编译验证 解压命令:tar -x*** code-1.0.tar.gz 需要注意的是: 源码中包含了默认的Demo代码,我们可以直接用这个demo代码验证一下我们编译环境是否搭建成功 在解压目录执行如下命令即可: python build.py wifiiot 在笔者的老爷机(E3-1230V3 4c8t 3.3GHz)上差不多1分钟左右就能完成编译。 如果你看到如下打印,恭喜你,编译成功了。
- < ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > BUILD SUCCESS < ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >
复制代码
See build log from: /mnt/f/Projects/手工打码/vendor/hisi/hi3861/hi3861/build/build_tmp/logs/build_kernel.log[197/197] STAMP obj/vendor/hisi/hi3861/hi3861/run_wifiiot_scons.stampohos wifiiot build success!
|