搭建系统基础环境

在搭建各个开发板环境前,需要完成OpenHarmony系统基础环境搭建。系统基础环境主要是指OpenHarmony的编译环境和开发环境。系统基础环境搭建分为如下几种方式,请根据实际软硬件情况以及个人喜好选择以下任一方式。

  • 搭建方式一

    Windows开发环境,Linux Docker方式搭建的编译环境,请参考本文档如下章节:

  1. 环境要求
  2. 安装Windows开发环境
  3. 安装Linux编译环境(方法一:Docker方式)
  • 搭建方式二

    Windows开发环境,Linux 安装包方式搭建的编译环境,请参考本文档如下章节:

  1. 环境要求
  2. 安装Windows开发环境
  3. 安装Linux编译环境(方法二:安装包方式)

环境要求

软硬件要求

表 1 开发平台要求

硬件

软件

描述

备注

Windows工作台(主机电脑)

操作系统

Windows XP/Windows7/Windows10

开发人员可以在Windows工作台中进行程序开发,或者远程登录到Linux服务器进行程序开发。

Linux编译服务器

操作系统

Ubuntu16.04及以上64位系统版本,Shell使用bash。

说明:

通常系统默认安装samba、vim等常用软件,需要做适当适配以支持linux文件共享。

Windows开发工具要求

表 2 Windows工作台开发工具及获取途径

开发工具

用途

获取途径

Visual Studio Code

代码编辑工具。

https://code.visualstudio.com/

HUAWEI DevEco Device Tool

IDE开发工具,支持WLAN模组的代码编写、远程编译、版本烧录、串口调试等功能。

说明:

HUAWEI DevEco Device Tool是OpenHarmony面向智能设备开发者提供的一站式集成开发环境,支持OpenHarmony的组件按需定制,支持C/C++语言,以插件的形式部署在Visual Studio Code上。

https://device.harmonyos.com/cn/ide

IPOP、PuTTY或其他超级终端(选其一)

远程连接Linux编译服务器,连接模组串口工具。

通过互联网获取(如:https://www.putty.org/

Linux构建工具要求

Linux服务器通用环境配置需要的工具及其获取途径如下表所示。

表 3 Linux服务器开发工具及获取途径

开发工具

用途

获取途径

Python3.7+

编译构建工具

通过互联网获取

gn

产生ninja编译脚本

https://repo.huaweicloud.com/harmonyos/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz

ninja

执行ninja编译脚本

https://repo.huaweicloud.com/harmonyos/compiler/ninja/1.9.0/linux/ninja.1.9.0.tar

LLVM

编译工具链

https://repo.huaweicloud.com/harmonyos/compiler/clang/9.0.0-36191/linux/llvm-linux-9.0.0-36191.tar

hb

编译构建命令行工具

通过互联网获取

安装Windows开发环境

OpenHarmony IDE工具DevEco Device Tool集成了终端工具的能力,工具的安装步骤请参考DevEco Device Tool环境搭建创建新工程等完成。

安装Linux编译环境(方法一:Docker方式)

Linux编译环境可以通过Docker方式快速安装,具体请参见Docker方式获取编译环境的“搭建Docker环境”。

安装Linux编译环境(方法二:安装包方式)

须知:

  • 如果后续通过“HPM组件方式”或“HPM包管理器命令行工具方式”获取源码,不需要安装gn、ninja编译工具。
  • (推荐)如果后续通过“镜像站点方式”或“代码仓库方式”获取源码,需要安装gn、ninja编译工具。安装gn、ninja编译工具时,请确保编译工具的环境变量路径唯一。

连接Linux服务器

使用Windows远程登录Linux,以PUTTY工具为例:

  1. 打开PuTTY工具,输入Linux服务器IP地址,后点击“open”,打开连接。

    图 1 PuTTY界面示例图

  2. 弹框告警选择“是(Y)”。

  3. 弹出界面中输入帐号并按回车键,继续输入密码并回车键。

    图 2 登录界面图

  4. 登录成功。

    图 3 登录成功界面

安装和配置Python

  1. 打开Linux编译服务器终端。

  2. 输入如下命令,查看python版本号,需使用python3.7以上版本。

    python3 --version
    

    如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。

    1. 运行如下命令,查看Ubuntu版本:
    cat /etc/issue
    
    1. 根据Ubuntu不同版本,安装python。
      • 如果Ubuntu 版本为18+,运行如下命令。

        sudo apt-get install python3.8
        
      • 如果Ubuntu版本为16。

        a. 安装依赖包

        sudo apt update && sudo apt install software-properties-common
        

        b. 添加deadsnakes PPA 源,然后按回车键确认安装。

        sudo add-apt-repository ppa:deadsnakes/ppa
        

        c. 安装python3.8

        sudo apt upgrade && sudo apt install python3.8
        
  3. 设置python和python3软链接为python3.8。

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
    
  4. 安装并升级Python包管理工具(pip3),任选如下一种方式。

    • 命令行方式:

      sudo apt-get install python3-setuptools python3-pip -y
      sudo pip3 install --upgrade pip
      
    • 安装包方式:

      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python get-pip.py
      

安装gn

  1. 打开Linux编译服务器终端。

  2. 下载gn工具

  3. 在根目录下创建gn文件夹。

    mkdir ~/gn
    
  4. 解压gn安装包至~/gn路径下。

    tar -xvf gn-linux-x86-1717.tar.gz -C ~/gn
    
  5. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/gn:$PATH
    
  6. 生效环境变量。

    source ~/.bashrc
    

安装ninja

  1. 打开Linux编译服务器终端。

  2. 下载ninja工具

  3. 解压ninja安装包至~/ninja路径下。

    tar -xvf ninja.1.9.0.tar -C ~/
    
  4. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/ninja:$PATH
    
  5. 生效环境变量。

    source ~/.bashrc
    

安装LLVM

  1. 打开Linux编译服务器终端。

  2. 下载LLVM工具

  3. 解压LLVM安装包至~/llvm路径下。

    tar -xvf llvm-linux-9.0.0-36191.tar -C ~/
    
  4. 设置环境变量。

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/llvm/bin:$PATH
    
  5. 生效环境变量。

    source ~/.bashrc
    

安装hb

前提条件

安装方法

  1. 运行如下命令安装hb

    python3 -m pip install --user ohos-build
    
  2. 设置环境变量

    vim ~/.bashrc
    

    将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

    export PATH=~/.local/bin:$PATH
    

    执行如下命令更新环境变量。

    source ~/.bashrc
    
  3. 执行"hb -h",有打印以下信息即表示安装成功:

    usage: hb
    
    OHOS build system
    
    positional arguments:
      {build,set,env,clean}
        build               Build source code
        set                 OHOS build settings
        env                 Show OHOS build env
        clean               Clean output
    
    optional arguments:
      -h, --help            show this help message and exit
    

卸载方法:

python3 -m pip uninstall ohos-build

说明: 如果安装hb的过程中遇到问题,请参见下文常见问题进行解决。

获取OpenHarmony源码

开发者需要在Linux服务器上下载并解压一套源代码,获取OpenHarmony 源码(下载链接)。更多源码获取方式,请见源码获取

常见问题

hb安装过程中出现乱码、段错误

  • 现象描述

    执行“python3 -m pip install --user ohos-build”出现乱码、段错误(segmentation fault)。

  • 可能原因

    pip版本过低。

  • 解决办法

    执行如下命令升级pip。

    python3 -m pip install -U pip
    

hb 安装过程中提示"cannot import 'sysconfig' from 'distutils'"

  • 现象描述

    执行“python3 -m pip install --user ohos-build”提示"cannot import 'sysconfig' from 'distutils'"

  • 可能原因

    缺少distutils模块。

  • 解决办法

    执行如下命令安装。

    sudo apt-get install python3.8-distutils
    

hb 安装过程中提示"module 'platform' has no attribute 'linux_distribution'"

  • 现象描述

执行“python3 -m pip install --user ohos-build”提示"module 'platform' has no attribute 'linux_distribution'"

  • 可能原因

    python3 pip安装兼容性问题。

  • 解决办法

    执行如下命令重新安装pip。

    sudo apt remove python3-pip
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python get-pip.py
    

Linux编译服务器终端输入不识别的命令时提示“ImportError: No module named apt_pkg”

  • 现象描述

    Linux编译服务器终端输入不识别的命令时,提示"ImportError: No module named apt_pkg"

  • 可能原因

    python3 apt安装兼容性问题。

  • 解决办法

    执行如下命令重新安装python3-apt。

    sudo apt-get remove  python3-apt
    sduo apt-get install python3-apt