VS Code远程模式编译鸿蒙代码

16 9月

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/09/16/vs-code-compile-harmonyos/



鸿蒙开源了,代码托管在Gitee,下载很方便,但是说实话东西比想象的单薄很多。

编译的话主要是依赖了gcc_riscv32,其他都是常规依赖。

VS Code支持远程模式,直接在Docker中执行相关编译和调试,所以代码拉下来以后直接新增一个.devcontainer文件夹,配置内容如下:

第一个是Dockerfile

FROM ubuntu:18.04
RUN sed -i s/archive.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list \
    && sed -i s/security.ubuntu.com/mirrors.aliyun.com/g /etc/apt/sources.list \
    && apt-get update && apt install software-properties-common build-essential python3.8 python3-distutils python3-pip scons re2c wget -y
RUN mkdir tools
WORKDIR tools
RUN wget -q https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz \
    && tar -xf gcc_riscv32-linux-7.3.0.tar.gz \
    && wget -q https://repo.huaweicloud.com/harmonyos/compiler/gn/1523/linux/gn.1523.tar \
    && tar -xf gn.1523.tar \
    && wget -q https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar \
    && tar -xf ninja.1.9.0.tar \
    && wget -q https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-34042/linux/llvm-linux-9.0.0-34042.tar \
    && tar -xf llvm-linux-9.0.0-34042.tar \
    && wget -q https://repo.huaweicloud.com/harmonyos/compiler/hc-gen/0.65/linux/hc-gen-0.65-linux.tar \
    && tar -xf hc-gen-0.65-linux.tar \
    && rm -rf *.tar && rm -rf *.tar.gz
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 \
    && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
RUN pip3 install pycrypto pycryptodome pycryptodomex six ecdsa -i https://mirrors.aliyun.com/pypi/simple/
ENV PATH="/tools/gcc_riscv32/bin:/tools/gn:/tools/ninja:/tools/llvm/bin:/tools/hc-gen:${PATH}"

第二个是devcontainer.json,主要是相关VS Code用的配置,这个可以后面在丰富。

{
  "name": "Harmony",
  "build": {
    "dockerfile": "Dockerfile",
    "context": ".."
  },

  "settings": {
    "terminal.integrated.shell.linux": "/bin/bash"
  }
}

然后直接选择Reopen in container即可,第一次启动需要将近十分钟,主要是下载华为提供的工具比较慢,后面启动就很快了。

然后在terminal中新建一个直接用 python build.py wifiiot编译即可。

另外两个要求环境多一些,特别是clang需要华为提供的,直接apt install的会报错。



本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2020/09/16/vs-code-compile-harmonyos/

发表评论

电子邮件地址不会被公开。