赞
踩
欢迎入群讨论
https://gitee.com/openharmony/docs/blob/master/zh-cn/release-notes/OpenHarmony-v4.1-beta1.md
分支:OpenHarmony-v4.1-beta1
注册码云gitee账号
注册码云SSH公钥
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
安装码云repo工具
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
方式一(推荐)
通过repo + ssh 下载(需注册公钥)
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.1-Beta1 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.1-Beta1 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
方式二
通过repo + https 下载。
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.1-Beta1 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.1-Beta1 --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib gcc-arm-linux-gnueabi libc6-dev-i386 libc6-dev-amd64 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
将Python 3.8设置为默认Python版本。
查看Python 3.8的位置:
which python3.8
将Python和Python3切换为Python 3.8:
sudo update-alternatives --install /usr/bin/python python {Python 3.8 路径} 1 #{Python 3.8 路径}为上一步查看的Python 3.8的位置
sudo update-alternatives --install /usr/bin/python3 python3 {Python 3.8 路径} 1 #{Python 3.8 路径}为上一步查看的Python 3.8的位置
源码根目录下执行prebuilts脚本,安装编译器及二进制工具:
build/prebuilts_download.sh
编译有两种方式,使用hb或者build.sh
hb set
hb build
hb build --product-name rk3568
hb clean
清除out 目录对应产品的编译产物
hb env
查看当前设置信息
默认情况下,编译的是32位系统,如需编译为64位系统,hb build --target-cpu arm64
./build.sh --product-name {product_name} --ccache
./build.sh --product-name rk3568 --ccache
编译64位的版本
./build.sh --product-name rk3568 --ccache --target-cpu=arm64
编译debug版本
./build.sh --product-name {product_name} --gn-args is_debug=true
添加 --ccache 参数:
ccache会缓存c/c++编译的编译输出,下一次在编译输入不变的情况下,直接复用缓存的产物。用来缓存编译过的.o文件等
-h, --help # 显示帮助信息并退出 --source-root-dir=SOURCE_ROOT_DIR # 指定路径 --product-name=PRODUCT_NAME # 指定产品名 --device-name=DEVICE_NAME # 指定装置名称 --target-cpu=TARGET_CPU # 指定CPU --target-os=TARGET_OS # 指定操作系统 -T BUILD_TARGET, --build-target=BUILD_TARGET # 指定编译目标,可以指定多个 --gn-args=GN_ARGS # GN参数,支持指定多个 --ninja-args=NINJA_ARGS # Ninja参数,支持指定多个 -v, --verbose # 生成时显示所有命令行 --keep-ninja-going # 让Ninja持续到1000000个工作失败 --jobs=JOBS --export-para=EXPORT_PARA --build-only-gn # 只做GN解析,不运行Ninja --ccache # 可选 如果使用ccache,需要本地安装ccache --fast-rebuild # 快速重建,默认值为False --log-level=LOG_LEVEL # 指定编译期间的日志级别','三个级别可选:debug, info and error,default='info' --device-type=DEVICE_TYPE # 指定设备类型,默认值为'default' --build-variant=BUILD_VARIANT # 指定设备操作模式,默认值为'user'
编译成功
路径:out/rk3568/packages/phone/images
编译windows:./build.sh --product-name ohos-sdk
编译mac:./build.sh --product-name ohos-sdk --gn-args full_mini_debug=false --keep-ninja-going --gn-args=is_use_check_deps=false
路径:out/sdk/packages/ohos-sdk/
public-SDK是提供给应用开发的工具包,跟随DevEco Studio下载,不包含系统应用所需要的高权限API
full-SDK是提供给OEM厂商开发应用的工具包,不能随DevEco Studio下载。
分支:OpenHarmony-v4.1-beta1
docker pull yin13753884368/harmony:openharmony4.1
分支:OpenHarmony-4.0-Release
docker pull yin13753884368/harmony:openharmony4.0
微信公众号(他晓),关注并转发,谢谢
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。