2. OpenHarmony源码下载

OpenHarmony源码下载(windows, ubuntu)

现在的 OpenHarmony 4.0 源码已经有了,在 https://gitee.com/openharmony 地址中,描述了源码获取的方式。下来先写下 windows 的获取方式,再写 ubuntu 的获取方式。

获取源码前,还需要的准备工作是在 gitee 上添加 ssh 公钥来保证 PC 可以正确发起请求并下载。具体的生成 ssh 公钥方式,在 gitee 官网上按照步骤操作就可以了。

Windows

gitee 描述的下载方式是基于 ubuntu 或者说是 Linux 的下载方式。在 windows 平台下的下载方式没有做出介绍。

我自己尝试了 windows 下的下载方式,与下载 android 源码下载方式雷同。

整个 openharmony 4.0 代码在27.6GB大小。

前提

在下载源码前,安装 windows 下 git 工具,还有 python (用于执行下载程序) 。

在**合适**的位置创建放置源码的目录,进入目录,下载 openharmony 的仓库。

git clone https://gitee.com/openharmony/manifest.git

在 clone 结束后,可以在目中看到 manifest 目录。

在 git-bash 工具中进入到 manifest 目录,查看当前的工作分支默认是 master

将源码分支切换到要下载的分支。这里下载 openharmony 4.0 代码。

$ git branch
* OpenHarmony-4.0-Releasemaster

下载

在切换分支后,可以在 manifest 的目录下,打开查看 default.xml 文件。

<?xml version="1.0" encoding="UTF-8"?>
<manifest><remote fetch="." name="origin" review="https://openharmony.gitee.com/openharmony/"/><default remote="origin" revision="OpenHarmony-4.0-Release" sync-j="4" /><include name="ohos/ohos.xml" /><include name="chipsets/all.xml" />
</manifest>

内容中包含了下载两个目录分别是 :

  • ohos openharmony 系统的软件代码。
  • chipsets 是根据芯片适配的底层代码。

要下载的是 ohos 目录下文件列举的源码结构。

创建 download 的 py 文件

nanifest 统计目录下创建 download.py 文件,文件内容如下。

import xml.dom.minidom
import os
from subprocess import call# 1. 修改为源码要保存的路径
rootdir = "D:/OHOSP/OHOS"# 2. 设置 git.exe 安装的路径
git = "D:/DevTools/Git/bin/git.exe"# 3. 修改为 manifest 中 default.xml 文件内容中 ohos.xml 路径
dom = xml.dom.minidom.parse("D:/OHOSP/manifest/ohos/ohos.xml")
root = dom.documentElement# 4. 拼接下载地址
prefix = "git clone https://gitee.com/openharmony/"
suffix = ".git"if not os.path.exists(rootdir):os.mkdir(rootdir)for node in root.getElementsByTagName("project"):os.chdir(rootdir)d = node.getAttribute("path")last = d.rfind("/")if last != -1:d = rootdir + "/" + d[:last]if not os.path.exists(d):os.makedirs(d)os.chdir(d)cmd = prefix + node.getAttribute("name") + suffixprint(cmd)call(cmd)

打开python的IDLE工具

打开 python 的 IDLE 工具。

File > Open 打开上面创建的 download 文件。

运行这段程序,等待源码下载结束。

Ubuntu

Ubuntu 下,下载的方式使用的工具是 repo,因此需要安装工具 git,git lfs 和 repo。

还需要 ubuntu 上安装了 python,如果安装了 python3,大概率还需要安装 python-is-python3。

安装 git

$ sudo apt get install git

安装 repo

$ mkdir ~/bin
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

执行完上面指令,repo 也就安装上了。

若果 ubuntu 系统是 22.04 或更高版本,可以直接使用 apt 包管理器安装。

$ sudo apt install repo

安装 git lfs,若只安装了 git,没有安装 git lfs 工具,在下载过程中会出错,提示未安装 git lfs 。

  1. 添加包下载 apt/deb 库。

    $ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
    
  2. 执行 apt/deb 安装指令。

    $ sudo apt-get install git-lfs
    
  3. 验证是否安装成功。

    $ git lfs --version
    

下载 4.0 代码

使用 repo 工具下载 openharmony 4.0 代码

$ 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' # 没有check进度,等待下载完成就可以了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210363.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三十分钟学会Shell(下)

Shell 3.1 运算符 3.1.1 算数运算符 在Shell脚本中&#xff0c;算术运算符用于执行基本的数学运算。Shell支持多种算术运算符&#xff0c;包括加、减、乘、除等。以下是关于Shell算术运算符的一些方法以及相应的示例说明&#xff1a; 加法&#xff1a; a10 b20 c$((a b)) …

SpringBoot自定义注解+数据脱敏(一看就懂)

一、注解的介绍 在Java中&#xff0c;注解&#xff08;Annotation&#xff09;是JDK5.0引入的一个重要特性。注解提供了一种元数据机制&#xff0c;可以用于描述和定义程序中的元素&#xff08;类、方法、成员变量等&#xff09;。注解是一种能被添加到java源代码中的元…

[autojs]利用console实现悬浮窗日志输出

"ui"; ui.layout(<vertical><button id"autoFloatWindow" text"开启悬浮窗" textSize"15sp" /><button id"autoService" text"开启无障碍服务" textSize"15sp" /><button id"…

SA实战 ·《SpringCloud Alibaba实战》第14章-服务网关加餐:SpringCloud Gateway核心技术

大家好,我是冰河~~ 一不小心《SpringCloud Alibaba实战》专栏都更新到第14章了,再不上车就跟不上了,小伙伴们快跟上啊! 在《SpringCloud Alibaba实战》专栏前面的文章中,我们实现了用户微服务、商品微服务和订单微服务之间的远程调用,并且实现了服务调用的负载均衡。也基…

【SpringMVC】 参数传递

一.项目目录 SpringBoot项目创建之后会生成很多目录 删除不需要的这四个文件/目录 目录 二.Spring MVC 和 MVC Spring MVC(Spring Web MVC) Spring Web MVC 是⼀个 Web 框架 MVC : Model View Controller 它是一种思想 , 它把一个项目分成了三个部分. View视图层 界面显示…

AnalyticDB for PostgreSQL 实时数据仓库上手指南

AnalyticDB for PostgreSQL 实时数据仓库上手指南 2019-04-016601 版权 本文涉及的产品 云原生数据仓库 ADB PostgreSQL&#xff0c;4核16G 50GB 1个月 推荐场景&#xff1a; 构建的企业专属Chatbot 立即试用 简介&#xff1a; AnalyticDB for PostgreSQL 提供企业级数…

JS PromiseLike 的判定与使用

目录 一. $.ajax()返回值遇到的问题二. Promise A 规范三. 判断是否为PromiseLike3.1 判断ES6的new Promise()3.2 判断包含then方法的对象3.3 判断$.ajax()返回的对象 一. $.ajax()返回值遇到的问题 当我们执行如下js代码时&#xff0c;可以看到$.ajax()执行后&#xff0c;得到…

Unity收费对谁影响最大

Unity的收费政策对以下几类人群影响最大&#xff1a; 游戏开发商&#xff1a;Unity收费政策中最直接的影响对象就是游戏开发商。对于那些使用Unity引擎制作游戏的开发商来说&#xff0c;他们将需要考虑新的许可证费用和服务费用&#xff0c;这可能会对他们的盈利和发展产生影响…

【分子指纹】化学分子指纹的概念和应用

Drug Discov Today&#xff5c;化学分子指纹的概念和应用 2022年9月13日&#xff0c;哈尔滨医科大学药物基因组信息学教研室陈秀杰教授、哈尔滨医科大学生物信息科学与技术学院解洪波副教授团队在期刊Drug Discovery Today上发表论文“Concepts and applications of chemical fi…

计算机网络之运输层

一、概述 物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的的问题&#xff0c;实现了主机到主机的通信 但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程 如何为运行在不同主机上的应用进程提供直接的通信服务时运输层的任务…

GoLand 2023.2.5(GO语言集成开发工具环境)

GoLand是一款专门为Go语言开发者打造的集成开发环境&#xff08;IDE&#xff09;。它能够提供一系列功能&#xff0c;如代码自动完成、语法高亮、代码格式化、代码重构、代码调试等等&#xff0c;使编写代码更加高效和舒适。 GoLand的特点包括&#xff1a; 1. 智能代码补全&a…

Grafana如何实现折线柱状图

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …