0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OpenHarmony鴻蒙編譯環(huán)境搭建 (兼容至4.0-Master和主干分支)

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-23 15:22 ? 次閱讀

預(yù)備工作

安裝虛擬機(jī)工具VMware或者VirtualBox。

新建虛擬機(jī),內(nèi)存16GB及以上,硬盤100GB及以上。

安裝Ubuntu,推薦使用20.04版本。用戶名不能包含中文。

啟動(dòng)并進(jìn)入U(xiǎn)buntu虛擬機(jī),以下步驟將在Ubuntu虛擬機(jī)中進(jìn)行操作。

一、將Shell環(huán)境修改為bash

sudo dpkg-reconfigure dash

選擇“No”。

wKgZomXYRyiAD7nzAABJaF1wMIA816.png

二、替換Ubuntu軟件源

在“https://mirrors.ustc.edu.cn/repogen/”下載對應(yīng)版本最新的源。

wKgaomXYRy6AB0n3AABpxvDWlNY935.png

在下載好的文件(sources.list)所在的位置開啟一個(gè)終端窗口,執(zhí)行下列命令。

備份原始文件:

sudo cp /etc/apt/sources.list /etc/apt/source.list.bak

替換源:

sudo mv -f sources.list /etc/apt/

更新軟件包索引

sudo apt update

三、安裝必要的庫和工具

需要分兩步進(jìn)行安裝。注意,這里比較重要,官網(wǎng)文檔用一步進(jìn)行安裝,會出現(xiàn)問題,導(dǎo)致安裝不完整,從而導(dǎo)致后期編譯出現(xiàn)“3000”錯(cuò)誤。

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
sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi

四、配置Python

設(shè)置默認(rèn)Python解釋器,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
python --version

安裝python包管理工具(pip3):

sudo apt install python3-pip

配置pip軟件包更新源:

mkdir ~/.pip
pip3 config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
pip3 config set global.trusted-host mirrors.huaweicloud.com
pip3 config set global.timeout 120

五、安裝Samba服務(wù)

用于在開發(fā)環(huán)境中使用VS Code編寫代碼。執(zhí)行下列命令安裝samba并打開配置文件:

sudo apt install samba
sudo gedit /etc/samba/smb.conf

在配置文件末尾添加以下內(nèi)容:

[home]
comment = User Homes
path = /home
guest ok = no
writable = yes
browsable = yes
create mask = 0755
directory mask = 0755

建立用戶并設(shè)置密碼(請將下面的用戶名換成您自己的):

sudo smbpasswd -a dragon

重啟samba:

sudo service smbd restart

六、獲取源代碼的必要工具和配置

安裝git-lfs,會自動(dòng)安裝git:

sudo apt install git-lfs

安裝repo和requests:

wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
sudo mv repo-py3 /usr/local/bin/repo
sudo chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests

配置git(請將下面的郵箱和用戶名換成您自己的):

git config --global user.email "dragon@hbu.cn"
git config --global user.name "dragon"
git config --global credential.helper store
git config --global --add safe.directory "*"

七、拉取源碼

以4.0為例(可以拉取branch或tag,這里使用branch):

mkdir -p ~/openharmony/4.0
cd ~/openharmony/4.0
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'

在源碼根目錄下執(zhí)行prebuilts腳本,安裝編譯器及二進(jìn)制工具:

bash build/prebuilts_download.sh

八、安裝編譯工具

在源碼根目錄運(yùn)行如下命令安裝hb并更新至最新版本:

python3 -m pip install --user build/hb

設(shè)置環(huán)境變量:

echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

九、編譯

兩種方式,使用hb或者build.sh。

使用hb。在源碼根目錄運(yùn)行如下命令(選擇要編譯的產(chǎn)品并進(jìn)行編譯):

hb set
hb build

使用build.sh。命令格式為:

./build.sh --product-name {product_name} --ccache

例如,在源碼根目錄運(yùn)行如下命令:

./build.sh --product-name rk3568 --ccache

耐心等待,對于標(biāo)準(zhǔn)系統(tǒng)來說,完整編譯過程會持續(xù)2-3小時(shí)。

wKgaomXYR0GAAimPAADQ-7oaLKc160.png


為了能讓大家更好的學(xué)習(xí)鴻蒙 (OpenHarmony) 開發(fā)技術(shù),這邊特意整理了《鴻蒙 (OpenHarmony)開發(fā)學(xué)習(xí)手冊》,希望對大家有所幫助:

《鴻蒙(Harmony OS)開發(fā)學(xué)習(xí)手冊》

入門必看:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用開發(fā)導(dǎo)讀(ArKTS)
2.應(yīng)用開發(fā)導(dǎo)讀(Java

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統(tǒng)定義
2.技術(shù)框架
3.技術(shù)特性
4.系統(tǒng)安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入門:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構(gòu)建第一個(gè)ArkTS應(yīng)用
3.構(gòu)建第一個(gè)JS應(yīng)用
4…

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

開發(fā)基礎(chǔ)知識:https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用基礎(chǔ)知識
2.配置文件
3.應(yīng)用數(shù)據(jù)管理
4.應(yīng)用安全管理
5.應(yīng)用隱私保護(hù)
6.三方應(yīng)用調(diào)用管控機(jī)制
7.資源分類與訪問
8.學(xué)習(xí)ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 開發(fā):https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開發(fā)
2.UI開發(fā)
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網(wǎng)絡(luò)與鏈接
8.電話服務(wù)
9.數(shù)據(jù)管理
10.后臺任務(wù)(Background Task)管理
11.設(shè)備管理
12.設(shè)備使用信息統(tǒng)計(jì)
13.DFX
14.國際化開發(fā)
15.折疊屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.png


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    646

    瀏覽量

    32737
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2287

    瀏覽量

    42629
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3607

    瀏覽量

    15956
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙Flutter實(shí)戰(zhàn):02-Windows環(huán)境搭建踩坑指南

    環(huán)境搭建 1. 下載Flutter SDK,配置環(huán)境變量 鴻蒙 Flutter SDK 需要在 Gitee 下載。目前建議下載 dev 分支
    發(fā)表于 10-22 15:05

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    源碼 P3_初次編譯OpenHarmony源碼 P4_OpenHarmony鏡像簡介以及燒寫工具配置 P5_優(yōu)化開發(fā)流程-搭建windows開發(fā)環(huán)境
    發(fā)表于 07-23 10:44

    深耕鴻蒙生態(tài),國科微旗艦芯片獲“鴻蒙4.0”首款認(rèn)證

    7月9日,國科微宣布旗下超高清視頻解碼及商顯芯片通過OpenHarmony4.0版本兼容性測評,獲頒鴻蒙生態(tài)產(chǎn)品兼容性證書。其中,國科微GK6323V100C是業(yè)界首款通過
    的頭像 發(fā)表于 07-10 13:10 ?350次閱讀
    深耕<b class='flag-5'>鴻蒙</b>生態(tài),國科微旗艦芯片獲“<b class='flag-5'>鴻蒙</b><b class='flag-5'>4.0</b>”首款認(rèn)證

    鴻蒙開發(fā):【OpenHarmony 4.0 Release指導(dǎo)】

    OpenHarmony 4.0版本如期而,開發(fā)套件同步升級到API 10。相比3.2 Release版本,新增4000多個(gè)API,應(yīng)用開發(fā)能力更加豐富;HDF新增200多個(gè)HDI接口,硬件適配更加便捷;我們持續(xù)優(yōu)化圖形框架和方
    的頭像 發(fā)表于 05-14 09:59 ?1169次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā):【<b class='flag-5'>OpenHarmony</b> <b class='flag-5'>4.0</b> Release指導(dǎo)】

    鴻蒙OpenHarmony開發(fā):【編譯構(gòu)建指導(dǎo)】

    OpenHarmony編譯子系統(tǒng)是以GN和Ninja構(gòu)建為基座,對構(gòu)建和配置粒度進(jìn)行部件化抽象、對內(nèi)建模塊進(jìn)行功能增強(qiáng)、對業(yè)務(wù)模塊進(jìn)行功能擴(kuò)展的系統(tǒng),該系統(tǒng)提供以下基本功能
    的頭像 發(fā)表于 05-13 09:31 ?1396次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開發(fā):【<b class='flag-5'>編譯</b>構(gòu)建指導(dǎo)】

    鴻蒙OpenHarmony技術(shù):【Docker編譯環(huán)境

    OpenHarmony為開發(fā)者提供了兩種Docker環(huán)境,以幫助開發(fā)者快速完成復(fù)雜的開發(fā)環(huán)境準(zhǔn)備工作。
    的頭像 發(fā)表于 05-11 09:47 ?1313次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>技術(shù):【Docker<b class='flag-5'>編譯</b><b class='flag-5'>環(huán)境</b>】

    【開源鴻蒙】下載OpenHarmony 4.1 Release源代碼

    本文介紹了如何下載開源鴻蒙OpenHarmony)操作系統(tǒng) 4.1 Release版本的源代碼,該方法同樣可以用于下載OpenHarmony最新開發(fā)版本(master
    的頭像 發(fā)表于 04-27 23:16 ?680次閱讀
    【開源<b class='flag-5'>鴻蒙</b>】下載<b class='flag-5'>OpenHarmony</b> 4.1 Release源代碼

    鴻蒙OpenHarmony搭建Ubuntu環(huán)境

    支持在Windows環(huán)境下進(jìn)行編譯,如Hi3861、Hi3516系列開發(fā)板。因此,建議使用Ubuntu的編譯環(huán)境對源碼進(jìn)行編譯
    的頭像 發(fā)表于 04-19 16:53 ?1198次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>搭建</b>Ubuntu<b class='flag-5'>環(huán)境</b>】

    鴻蒙OpenHarmony搭建Windows環(huán)境

    支持在Windows環(huán)境下進(jìn)行編譯,如Hi3861、Hi3516系列開發(fā)板。因此,建議使用Ubuntu的編譯環(huán)境對源碼進(jìn)行編譯
    的頭像 發(fā)表于 04-19 15:42 ?531次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>搭建</b>Windows<b class='flag-5'>環(huán)境</b>】

    源碼開放,開發(fā)者手機(jī) buff 疊滿

    OpenHarmony 編譯環(huán)境搭建 官方文檔: https://gitee.com/openharmony/docs/blob/
    發(fā)表于 03-04 14:29

    [鴻蒙]OpenHarmony4.0的Rust開發(fā)

    。 OpenHarmony 為了集成 C/C++ 代碼和提升編譯速度,使用了 GN + Ninja 的編譯構(gòu)建系統(tǒng)。GN 的構(gòu)建語言簡潔易讀,Ninja 的匯編級編譯規(guī)則直接高效。 為
    的頭像 發(fā)表于 02-26 17:28 ?731次閱讀
    [<b class='flag-5'>鴻蒙</b>]<b class='flag-5'>OpenHarmony4.0</b>的Rust開發(fā)

    鴻蒙OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析

    OpenHarmony 4.0藍(lán)牙代碼結(jié)構(gòu)簡析前言 OpenHarmony 4.0上藍(lán)牙倉和目錄結(jié)構(gòu)進(jìn)行一次較大整改,本文基于4.0以上版本
    的頭像 發(fā)表于 02-26 16:08 ?1303次閱讀
    【<b class='flag-5'>鴻蒙</b>】<b class='flag-5'>OpenHarmony</b> <b class='flag-5'>4.0</b>藍(lán)牙代碼結(jié)構(gòu)簡析

    淺談兼容 OpenHarmony 的 Flutter

    拓展,可支持使用 Flutter Tools 指令編譯和構(gòu)建 OpenHarmony 應(yīng)用程序。 倉庫的 commit 記錄顯示,OpenHarmony 使用的 Flutter 版本是 3.7 穩(wěn)定
    的頭像 發(fā)表于 02-02 15:22 ?529次閱讀
    淺談<b class='flag-5'>兼容</b> <b class='flag-5'>OpenHarmony</b> 的 Flutter

    鴻蒙OS4.0兼容性測試

    dcts N N Y ssts N N Y 以上部分是對兼容性測評的常規(guī)介紹。下面我們要講從OpenHarmony3.2Release開始,到4.0進(jìn)入設(shè)置應(yīng)用的兼容性證明頁面,如
    發(fā)表于 01-17 20:38

    鴻蒙開發(fā)南向環(huán)境搭建教學(xué)

    南向開發(fā)環(huán)境搭建教學(xué),更多鴻蒙開發(fā)資料可以前往高清完整版 《鴻蒙開發(fā)4.0基礎(chǔ)-高階文檔》找保存。(附
    發(fā)表于 01-05 16:38