运行环境
DevEco Studio:4.0Release
OpenHarmony SDK API10
开发板:润和DAYU200
OpenHarmony源码获取(从码云仓库获取)
适用场景
- 基于OpenHarmony的稳定分支建立自己的基线,分发下游客户。
- 已经完成自身软件与OpenHarmony的对接,需要进行OpenHarmony官方认证。
- 芯片/模组/app通过OpenHarmony官方认证后,贡献代码到OpenHarmony社区。
- 修复OpenHarmony的问题。
- 学习OpenHarmony的源码。
前提条件
注册码云gitee帐号。
注册码云SSH公钥,请参考码云帮助中心[1]。
安装git客户端[2]和git-lfs[3]并配置用户信息。
代码语言:javascript复制git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
执行如下命令安装码云repo工具。
下述命令中的安装路径以"~/bin"为例,请用户自行创建所需目录。
代码语言:javascript复制mkdir ~/bin
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo
chmod a x ~/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
将repo添加到环境变量。
代码语言:javascript复制vim ~/.bashrc # 编辑环境变量
export PATH=~/bin:$PATH # 在环境变量的最后添加一行repo路径信息
source ~/.bashrc # 应用环境变量
操作步骤
❝发布版本代码相对比较稳定,开发者可基于发布版本代码进行商用功能开发。Master主干为开发分支,开发者可通过Master主干获取最新特性。
OpenHarmony发布版本代码获取
以4.0Relase为例
方式一(推荐)
通过repo ssh 下载(需注册公钥,请参考码云帮助中心[4])。
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
代码语言:javascript复制repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
代码语言:javascript复制repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
方式二
通过repo https 下载。
从版本分支获取源码。可获取该版本分支的最新源码,包括版本发布后在该分支的合入。
代码语言:javascript复制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'
从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。
代码语言:javascript复制repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
OpenHarmony主干代码获取
方式一(推荐):通过repo ssh下载(需注册公钥,请参考码云帮助中心[5])。
代码语言:javascript复制repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
方式二:通过repo https下载。
代码语言:javascript复制repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
接下来源码获取到了,我们就来了解一下源码目录。
源码目录简介
下表是OpenHarmony源码目录:
源码目录
目录名 | 描述 |
---|---|
applications | 应用程序样例,包括camera等 |
base | 基础软件服务子系统集&硬件服务子系统集 |
build | 组件化编译、构建和配置脚本 |
docs | 说明文档 |
domains | 增强软件服务子系统集 |
drivers | 驱动子系统 |
foundation | 系统基础能力子系统集 |
kernel | 内核子系统 |
prebuilts | 编译器及工具链子系统 |
test | 测试子系统 |
third_party | 开源第三方组件 |
utils | 常用的工具集 |
vendor | 厂商提供的软件 |
build.py | 编译脚本文件 |
这一篇文章,我们聚焦的主要是标准系统的能力。就来开始正文讲解。
参考资料
[1]
码云帮助中心: https://gitee.com/help/articles/4191
[2]
git客户端: https://git-scm.com/book/zh/v2/起步-安装-Git
[3]
git-lfs: https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading
[4]
码云帮助中心: https://gitee.com/help/articles/4191
[5]
码云帮助中心: https://gitee.com/help/articles/4191