前期准备
1. VMware + Ubuntu20.04 + 内存8G+ + 硬盘150G+
2. Ubuntu20.04 Server + 内存64G + 硬盘24T
3. Ubuntu20.04 + 内存16G+ + 硬盘1T
4. Windows 10 通过子系统方式安装Ubuntu20.04
四种方案,推荐方案四。
20240116更新:
1. 更加了解Docker容器后,优化部分流程,使其更加精简
2. 更改Docker使用权限,添加代码管理方案
3. 使开发者继续沿用之前Git服务器拉取代码、提交方式,Grrit代码管理保持不变
VMware下载: Vmware Workstation pro 15.5.5
清华开源镜像站: ubuntu-20.04.6-desktop-amd64.iso
开源USB启动盘制作工具: Rufus-4.2.2074-Stable.exe
OpenHarmony 开发者论坛:Openharmony 4.0编译环境搭建参考
https://forums.openharmony.cn/forum.php?mod=viewthread&tid=897/文章来源:https://www.toymoban.com/news/detail-815001.html
一、非服务器版本
按照以上方式安装一次性编译通过文章来源地址https://www.toymoban.com/news/detail-815001.html
二、 服务器版本
2.1 代码拉取
2.1.1 基础版本代码拉取
git config --global user.email "xxx@163.cn"
git config --global user.name "xxx"
git config --global credential.helper store
git config --global --add safe.directory "*"
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
apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi
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
wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3
mv repo-py3 /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
mkdir -p ~/openharmony/4.0 && cd ~/openharmony/4.0
rm -rf ~/.repo
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'
build/prebuilts_download.sh
rm -rf ~/openharmony_prebuilts
2.1.2 代码编译方式
python3 -m pip install --user build/hb
echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
hb set
hb build
或
./build.sh --product-name {product_name} --ccache
2.2 docker 方式编译通过
sudo apt install docker.io
docker -v
// 将当前用户添加至docker组
sudo usermod -aG docker $USER
id $USER
// 查看当前运行容器
docker ps -a
// 若报错:dial unix /var/run/docker.sock: connect: permission denied,执行:
sudo chmod 666 /var/run/docker.sock
// 小型系统
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small:3.2
// 轻量系统
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_mini:3.2
// 标准系统
docker pull swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
cd ~/openharmony/4.0
// 进入容器-it:交互模式 -d:后台模式启动 --name:指定容器名称 -v:当前目录映射至openharmony
docker run -it -v $(pwd):/home/openharmony -d swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
// 非后台启动方式
docker run -it -v $(pwd):/home/openharmony swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_standard:3.2
// 查看CONTAINER ID
docker ps
// 进入容器,从容器退出,不会导致容器的停止(推荐)
docker exec -it <CONTAINER ID-前三位即可> /bin/bash
>> 2.1 代码拉取 闭环
2.3 兼容方式编译失败
2.4 代码上库
git clone ssh://192.168.xx.xxx:xxxxxx/openharmony-r4.0.git
cp -r ~/openharmony-r4.0/.git ~/openharmony/4.0
到了这里,关于OpenHarmony4.0系列(一)编译环境搭建+代码上库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!