[经验分享] hi3861搭建OpenHarmony5.0.1release开发环境 原创 精华

数创院刘Sir 显示全部楼层 发表于 2024-5-29 15:01:54
hi3861高版本从3.2开始网上的环境搭建教程就开始出问题了,本人遇到的是WIFI类的项目突然开始无法编译,在论坛上求助大佬门说是内部库冲突,无法解决,后面借鉴了三方大佬和官网的方案步骤整合,现在可以成功使用4.1开发了,纯Ubuntu开发,步骤如下:
1.Ubuntu的前面配置
预备工作
1. 安装虚拟机工具VMware或者VirtualBox。
2. 新建虚拟机,内存16GB及以上,硬盘100GB及以上。
3. 安装Ubuntu,推荐使用20.04版本。用户名不能包含中文。
4. 启动并进入Ubuntu虚拟机,以下步骤将在Ubuntu虚拟机中进行操作。


一、将Shell环境修改为bash
  • sudo dpkg-reconfigure dash

选择“No”。



二、替换Ubuntu软件源
打开ubuntu的菜单找到software updata软件,直接选择国内的华为云的某个镜像源,然后关闭软件会有重新加载升级应用的提升,升级一下会提示重启虚拟机就修改成功了



三、安装必要的库和工具
需要分两步进行安装。注意,这里比较重要,官网文档用一步进行安装,会出现问题,导致安装不完整,从而导致后期编译出现“3000”错误。
    1. sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev   libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
    复制代码


2.
  1. sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi
复制代码

四、配置Python
设置默认Python解释器,python和python3软链接为python3.8:
  1. sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
  2. sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
  3. python --version
复制代码

安装python包管理工具(pip3):
    1. sudo apt install python3-pip
    复制代码


配置pip软件包更新源:
  1. mkdir ~/.pip
  2. pip3 config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
  3. pip3 config set global.trusted-host mirrors.huaweicloud.com
  4. pip3 config set global.timeout 120
复制代码

五、安装Samba服务
用于在开发环境中使用VS Code编写代码。执行下列命令安装samba并打开配置文件:
  1. sudo apt install samba
  2. sudo gedit /etc/samba/smb.conf
复制代码

在配置文件末尾添加以下内容:
  1. [share]                  
  2. comment = Shared Folder   
  3. path = /home/harmony/share      
  4. valid users = harmony     
  5. directory mask = 0775     
  6. create mask = 0775         
  7. public = yes              
  8. writable = yes            
  9. available = yes         
  10. browseable = yes         
复制代码


建立用户并设置密码(请将下面的用户名换成您自己的)
  1. sudo smbpasswd -a harmony
复制代码


重启samba:
  1. sudo service smbd restart
复制代码

六、获取源代码的必要工具和配置
安装git-lfs,会自动安装git:
  1. sudo apt install git-lfs
复制代码


安装repo和requests:
    1. wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
    2. sudo mv repo-py3 /usr/local/bin/repo
    3. sudo chmod a+x /usr/local/bin/repo
    4. pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
    复制代码


配置git(请将下面的邮箱和用户名换成您自己的):
  1. git config --global user.email "dragon@hbu.cn"
  2. git config --global user.name "dragon"
  3. git config --global credential.helper store
  4. git config --global --add safe.directory "*"
复制代码
2.然后下载源码的步骤不合适对于hi3861,全量源码内存占用太大了,这里就用我发现的hi3861的专属4.1轻量级源码
# 下载4.1 r版本hi3861源码
  1. repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.0.1-Release -m chipsets/hispark_pegasus.xml -g ohos:mini
  2. repo sync -c
  3. repo forall -c 'git lfs pull'
复制代码
源码根目录下进行下面步骤哦

# 安装依赖
  1. ./build/build_scripts/env_setup.sh
  2. source ~/.bashrc
复制代码


# 下载编译工具
  1. bash build/prebuilts_download.sh
复制代码

或者安装hb工具
  • 在源码根目录运行如下命令安装hb并更新至最新版本。


    1. python3 -m pip install --user build/hb
    复制代码

  • 设置环境变量。

    1. vim ~/.bashrc
    复制代码

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

    1. export PATH=~/.local/bin:$PATH
    复制代码

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

    1. source ~/.bashrc
    复制代码
  • 在源码目录执行"hb help",界面打印以下信息即表示安装成功。


须知:

  • 可采用以下命令卸载hb:

    1. python3 -m pip uninstall ohos-build
    复制代码

# 执行一遍3861的编译命令确认环境有没有问题
  1. ./build.sh --product-name wifiiot_hispark_pegasus --ccache --no-prebuilt-sdk
复制代码
这里一般会出现环境报错,不报错的编译wifi项目会出问题,第三步借鉴官网的一部分教程
3.后续高版本3.2后出现编译链变动,所以IDEA开发hi3861基本都编译不过了,只能看官网的命令行开发方法这一步添加hi3861专门的环境补全
https://docs.openharmony.cn/pages/v4.1/zh-cn/device-dev/quick-start/quickstart-pkg-3861-tool.md
到了这一步继续用hb set这套工具开发又可以像低版本一样跑以前写好的项目dome了

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

精彩评论7

qiuds

来自手机 沙发 发表于 2024-7-22 22:53:27
你好,我在4.1上编译的项目,不明白这报的什么错误,有遇到过吗?

润开鸿_闻飞

发表于 2024-7-24 10:13  IP属地: 江苏省

回复 qiuds: 因为不支持,没有适配而已,这很正常

【1 条回复】

jeep_yang

板凳 发表于 2024-11-8 14:22:15
你好,想问下hi3861怎么编译openharmony4.1.1版本的啊?

数创院刘Sir

发表于 2024-11-27 15:04  IP属地: 浙江省温州市

回复 jeep_yang: 文章已经恢复正常显示内容,前面被异常篡改了,你看看能借鉴完善吗

【1 条回复】

数创院刘Sir

地板 发表于 2024-11-27 15:00:41
环境搭建文章已经恢复且更新,大家可以重新点进来借鉴4.1系统搭建了

my128d@163.com

5# 发表于 6 天前
请问在第三步时,提示:Couldn't find any package by glob 'python3.8-distutils',是什么原因呢?

数创院刘Sir

发表于 2024-12-2 14:38  IP属地: 四川省成都市

回复 my128d@163.com: 你用的不是ubuntu20.04吧,可以先执行第四步安装python试试
ubuntu18适合官网的一步安装方法

【1 条回复】
共7 条回复,点击查看

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部