关于操作系统:HarmonyOS源码获取大全

50次阅读

共计 3274 个字符,预计需要花费 9 分钟才能阅读完成。

源码获取

详情请参考:https://gitee.com/openharmony/docs/blob/master/get-code/%E6%BA%90%E7%A0%81%E8%8E%B7%E5%8F%96.md

OpenHarmony 介绍

  OpenHarmony 是 HarmonyOS 的开源版,由华为捐献给凋谢原子开源基金会(OpenAtom Foundation)开源。第一个开源版本反对在 128KB~128MB 设施上运行,欢送加入开源社区一起继续演进。

  代码仓库地址:https://openharmony.gitee.com

源码获取概述

  本文档将介绍如何获取 OpenHarmony 源码并阐明 OpenHarmony 的源码目录构造。OpenHarmony 的代码以组件的模式凋谢,开发者能够通过如下其中一种形式获取:

  • 获取形式 1: 从镜像站点下载压缩文件(举荐)
  • 获取形式 2: 从 hpm 网站组件式获取。通过 HPM,查找满足需要的解决方案,筛选 / 裁剪组件后下载。
  • 获取形式 3: 用包管理器命令行工具获取。通过 HPM 的 hpm-cli 命令行工具,执行命令下载。
  • 获取形式 4: 从代码仓库获取。通过 repo 或 git 工具从代码仓库中下载。

获取形式 1:从镜像站点获取

  为了取得更好的下载性能,您能够抉择从以下站点的镜像库获取源码或者对应的解决方案。

表 1 源码获取门路

获取形式 2:从 hpm 网站组件式获取

实用场景

  对于刚接触 OpenHarmony 的新用户,心愿可能参考一些示例解决方案从而进行疾速开发。能够在 HPM 获取举荐的解决方案,以此为根底,减少或裁剪局部组件,疾速定制零碎。

操作步骤

    1. 查找适合的解决方案组件包。
    • 关上包治理页面 HPM,设定搜寻的对象为“解决方案“,如下图所示。
    • 自搜寻框输出关键字搜寻,如 ”camera”。
    • 后果中显示匹配的解决方案,能够进一步依据组件类别等过滤条件 (如:适配的开发板,内核)准确筛选。
    • 查找适合的解决方案,点击查看解决方案详情介绍
    1. 定制解决方案组件包。

      • 仔细阅读解决方案的阐明,以理解该解决方案的应用场景、个性、应用办法以及如何进行定制化,如下图所示。
      • 点击「间接下载」,将解决方案下载到本地。
      • 点击「定制组件」,将对解决方案蕴含的组件进行定制。
    2. 定制组件。
    • 下载的压缩文件并未蕴含源代码的原始文件,能够在 IDE 中导入下载的压缩包,解压后执行 hpm 的装置指令 (hpm install),才会将所须要的组件全副下载下来。
    • 下载的组件存在工程目录下的 ohos_bundles 文件夹中。
    1. 进入解决方案定制页面,如下图所示。
    2. 通过敞开开关移除可选组件,或者通过“增加组件”减少新的组件。
    3. 在左边填写您的我的项目根本信息,包含名称、版本、形容等信息。
    4. 点击“下载“,零碎会依据您的抉择,生成相应的 OpenHarmony 代码构造文件 (如 name.zip),保留至本地文件。

    获取形式 3:用包管理器命令行获取

    实用场景

    • 用户已通过组件式获取的形式获取源码,须要对源码中的某个或某几个组件进行独立降级。
    • 用户曾经比拟相熟 OpenHarmony 零碎的开发并且熟练掌握命令行工具的应用。

    筹备

      通过命令行获取,须要先装置 Node.js 和 hpm 命令行工具,装置步骤如下:

    1. 装置 Node.js。

    官网下载并在本地装置 Node.js.
    举荐装置 Node.js 12.x (蕴含 npm 6.14.4) 或更高版本 (举荐 12.13.0+)。

    1. 通过 Node.js 自带的 npm 装置 hpm 命令行工具。

    关上 CMD,执行以下命令:

    npm install -g @ohos/hpm-cli
    1. 装置实现后执行如下命令,显示 hpm 版本,即装置胜利。
    hpm -V 或 hpm --version
    1. 如果降级 hpm 的版本,请执行如下命令:
    npm update -g @ohos/hpm-cli

    操作

      接下来将组件增加到开发我的项目中,假设要获取的组件名为 @ohos/demo,具体操作如下:

    1. 进入开发目录,执行如下命令,采纳默认模板创立一个开发我的项目。
    hpm init -t default
    1. 执行如下命令,装置组件 @ohos/demo
    hpm install @ohos/demo
    1. 工具会主动从服务器下载所有依赖的组件,下载胜利则显示 Install successfully!
    $ hpm install @ohos/demoRequesting: https://url.foo.bar/hpm/registry/api/bundles/@ohos/demodownloading @ohos/demoRequesting: https://lfcontentcenterdev....../bMAlLrYISLqdUTFFFCdgzA.tgzextract D:\demo\ohos_bundles\@ohos\demo\@ohos-demo-1.0.7.tgzInstall successfully!

    获取形式 4:从代码仓库获取

    实用场景

    • 基于 OpenHarmony 的稳固分支建设本人的基线,散发上游客户。
    • 曾经实现本身软件与 OpenHarmony 的对接,须要进行 OpenHarmony 官网认证。
    • 芯片 / 模组 /app 通过 OpenHarmony 官网认证后,奉献代码到 OpenHarmony 生态。
    • 修复 OpenHarmony 的问题。
    • 学习 OpenHarmony 的源码。

    筹备

    1. 注册码云 gitee 账号。
    2. 注册码云 SSH 公钥,请参考码云帮忙核心的公钥治理:https://gitee.com/help/articles/4181
    3. 装置 git 客户端并配置用户信息。
    git config --global user.name "yourname"git config --global user.email "your-email-address"git config --global credential.helper store
    1. 装置码云 repo 工具,能够执行如下命令。
    curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repochmod a+x /usr/local/bin/repopip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

    操作

    形式一(举荐):通过 repo 下载

    repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verifyrepo sync -c

    形式二:通过 git clone 单个代码仓库
      进入代码仓库主页:https://gitee.com/openharmony,抉择须要克隆的代码仓库,执行命令,如:

    git clone https://gitee.com/openharmony/manifest.git -b master

    源码目录简介

      下表是 OpenHarmony 源码的目录及简略阐明:

    表 2 源码目录的阐明

    目录名 形容
    applications 应用程序样例,包含 wifi-iot,camera 等
    base 根底软件服务子系统集 & 硬件服务子系统集
    build 组件化编译、构建和配置脚本
    domains 加强软件服务子系统集
    drivers 驱动子系统
    foundation 零碎根底能力子系统集
    kernel 内核子系统
    prebuilts 编译器及工具链子零碎
    test 测试子系统
    third_party 开源第三方组件
    utils 罕用的工具集
    vendor 厂商提供的软件
    build.py 编译脚本文件

    HarmonyOS 官网开发者论坛:https://developer.huawei.com/consumer/cn/forum/blockdisplay?fid=0101303901040230869

    原文链接:https://developer.huawei.com/consumer/cn/forum/topicview?tid=0202350736685590542&fid=0101303901040230869

    原作者:kelly

    正文完
     0