当前位置: 首页 > news >正文

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进度,等待下载完成就可以了

相关文章:

2. OpenHarmony源码下载

OpenHarmony源码下载(windows, ubuntu) 现在的 OpenHarmony 4.0 源码已经有了&#xff0c;在 https://gitee.com/openharmony 地址中&#xff0c;描述了源码获取的方式。下来先写下 windows 的获取方式&#xff0c;再写 ubuntu 的获取方式。 获取源码前&#xff0c;还需要的准…...

flask app.config 用法

flask app.config flask app.config 是 Flask 应用程序的配置对象。它包含了 Flask 应用程序的所有配置信息&#xff0c;如数据库连接、密钥、调试模式等。 常用的 app.config 配置项如下&#xff1a; DEBUG&#xff1a;调试模式&#xff0c;默认为 False。 SECRET_KEY&…...

【Vue】【uni-app】实现工单列表项详情页面

这次主要实现的是一个工单详情页面 从工单列表项中点击详情 跳转到工单详情页面&#xff0c;这个详情页面就是这次我们要实现的页面&#xff0c;并可以通过点击这个关闭按钮返回到工单列表页面 首先是在我们原有的工单列表页面的按钮增加一个点击跳转 <button size"m…...

安装vmware_esxi 超详细

安装vmware_esxi 超详细 </h2><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">esxi安装手册 1、esxi介绍 ESXI原生架构模式的虚拟化技术&#xff0c;是不需要宿主操作系统的&#xff0c;它自己本身就是操作系统。因此…...

Spring-Mybatis源码解析--手写代码实现Spring整合Mybatis

文章目录 前言一、引入&#xff1a;二、准备工作&#xff1a;2.1 引入依赖2.2 数据源的文件&#xff1a;2.1 数据源&#xff1a; 2.3 业务文件&#xff1a; 三、整合的实现&#xff1a;3.1 xxxMapper 接口的扫描&#xff1a;3.2 xxxMapper 接口代理对象的生成&#xff1a;3.2 S…...

5.2 Windows驱动开发:内核取KERNEL模块基址

模块是程序加载时被动态装载的&#xff0c;模块在装载后其存在于内存中同样存在一个内存基址&#xff0c;当我们需要操作这个模块时&#xff0c;通常第一步就是要得到该模块的内存基址&#xff0c;模块分为用户模块和内核模块&#xff0c;这里的用户模块指的是应用层进程运行后…...

聊聊Go语言的注释

文章目录 聊聊Go语言的注释一、注释的格式1.1 块注释1.2 行注释 二、包注释三、命令注释四、类型注释4.1 实例注释4.2 并发安全注释4.3 零值注释4.4 导出字段注释 五、函数注释5.1 参数/返回值/函数作用注释5.2 bool返回值函数注释5.3 形参/返回值名称注释5.4 并发安全注释5.5 …...

皮肤警告,羊大师讲解身体与环境的默契

皮肤警告&#xff0c;羊大师讲解身体与环境的默契 我们常常忽视身体皮肤所承受的压力和警告信号。皮肤是身体的第一道屏障&#xff0c;也是与外界环境直接接触的组织。我们的皮肤通过各种方式向我们传达信息&#xff0c;警告我们关于身体健康的重要问题。本文小编羊大师将带大…...

使用NVM管理多个Nodejs版同时支持vue2、vue3

1.安装nvm,下载地址&#xff1a; https://github.com/coreybutler/nvm-windows/releases/tag/1.1.12 2.nvm常用命令 Usage:nvm arch : Show if node is running in 32 or 64 bit mode.nvm current : Display active version.nvm debug …...

Android帝国之进程杀手--lmkd

本文概要 这是Android系统启动的第三篇文章&#xff0c;本文以自述的方式来讲解lmkd进程&#xff0c;通过本文您将了解到lmkd进程在安卓系统中存在的意义&#xff0c;以及它是如何杀进程的。&#xff08;文中的代码是基于android13&#xff09; 我是谁 init&#xff1a;“大…...

堆栈_队列实现栈

//请你仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 // // 实现 MyStack 类&#xff1a; // // // void push(int x) 将元素 x 压入栈顶。 // int pop() 移除…...

好用的json处理工具He3 JSON

官网地址&#xff1a;https://he3app.com/zh/ json格式化 https://portal.he3app.com/home/extension/json-to-pretty 其他 https://portal.he3app.com/home/category...

RabbitMQ消息模型之Routing-Direct

Routing Direct 在Fanout模式中&#xff0c;一条消息&#xff0c;会被所有订阅的队列都消费。但是在某些场景下&#xff0c;我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下&#xff1a; 队列与交换机的绑定&#xff0c;不能是任意…...

Harmony 应用开发之size 脚本

作者&#xff1a;麦客奥德彪 在应用开发中&#xff0c;最终呈现在用户面前的UI&#xff0c;是用户能否继续使用应用的强力依据之一&#xff0c;在之前的开发中&#xff0c;Android 屏幕碎片化严重&#xff0c;所以出现了很多尺寸适配方案。 最小宽适配、百分比适配等等。 还有一…...

商家门店小程序怎么做?门店小程序的优势和好处

生活服务类商家在当前数字化时代&#xff0c;越来越认识到门店小程序的重要性。门店小程序不仅为商家提供了一个在线展示的窗口&#xff0c;更为其打造了一个与消费者直接互动的平台。有了门店小程序&#xff0c;商家可以更加便捷地管理商品信息、订单流程&#xff0c;同时还能…...

什么是灯塔工厂?灯塔工厂的作用?

什么是灯塔工厂&#xff1f; "灯塔工厂"概念源于德国的工业4.0战略&#xff0c;又称“工业4.0示范工厂”或“标杆工厂”&#xff0c;代表工业领域顶级的智能制造能力。2018年&#xff0c;由世界经济论坛和麦肯锡共同推出。 灯塔工厂是通过数字化、网络化和智能化手…...

【GEO-AI】SAM-Geo库(segment-geospatial)入门教程

今年4月份&#xff0c;Meta公布了它图形分割模型Segment-Anything&#xff0c;简称SAM。当时就想着这个东西用在遥感影像分割上应该效果不错&#xff0c;奈何自己能力有限&#xff0c;没有办法上手实践。偶然间看到有介绍SAM-Geo工具包的文章&#xff0c;决定研究一番&#xff…...

ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统

ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统 概述 在前述章节我们讲述了在网页端控制多个 GPIO 的案例。当程序开始变得复杂&#xff0c;让一些功能“自动起来”是一个好的选择。 在前面的示例中&#xff0c;我们需要在后端为每个前端代码的 URL 指定一个对…...

kubeadm快速搭建k8s高可用集群

1.安装及优化 1.1基本环境配置 1.环境介绍 &#xff08;1&#xff09;.高可用集群规划 主机名ip地址说明k8s-master01192.168.2.96master节点k8s-master02192.168.2.97master节点k8s-master03192.168.2.98master节点k8s-node01192.168.2.99node节点k8s-node02192.168.2.100n…...

GoLong的学习之路,进阶,Redis

这个redis和上篇rabbitMQ一样&#xff0c;在之前我用Java从原理上进行了剖析&#xff0c;这里呢&#xff0c;我做项目的时候&#xff0c;也需要用到redis&#xff0c;所以这里也将去从怎么用的角度去写这篇文章。 文章目录 安装redis以及原理redis概念redis的应用场景有很多red…...

Qwen3.5-9B-AWQ-4bit与Claude对比评测:开源与闭源模型的技术选型

Qwen3.5-9B-AWQ-4bit与Claude对比评测&#xff1a;开源与闭源模型的技术选型 1. 评测背景与目标 在AI大模型领域&#xff0c;开源与闭源模型的选择一直是开发者面临的重要决策。本次评测聚焦于两款在开发者社区中备受关注的模型&#xff1a;开源的Qwen3.5-9B-AWQ-4bit和闭源的…...

如何快速使用网盘直链下载助手:告别限速困扰的完整指南

如何快速使用网盘直链下载助手&#xff1a;告别限速困扰的完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...

如何用XUnity.AutoTranslator实现Unity游戏实时翻译:新手完全指南

如何用XUnity.AutoTranslator实现Unity游戏实时翻译&#xff1a;新手完全指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的Unity游戏&#xff1f;XUnity.AutoTrans…...

PyTorch 2.8镜像新手入门:无需配置,直接开启你的AI项目实战

PyTorch 2.8镜像新手入门&#xff1a;无需配置&#xff0c;直接开启你的AI项目实战 1. 为什么选择PyTorch 2.8预置镜像&#xff1f; 深度学习项目最让人头疼的往往不是算法本身&#xff0c;而是环境配置。不同版本的PyTorch、CUDA、cuDNN之间的兼容性问题&#xff0c;足以让一…...

用OpenCV 4.8.0和C++从零搭建增量式三维重建系统:手把手教你处理多张图片生成稀疏点云

从零构建三维视觉系统&#xff1a;OpenCV与C实战指南 三维重建技术正在改变我们与数字世界的交互方式。想象一下&#xff0c;仅用手机拍摄的几张照片就能重建出物体的三维模型——这正是计算机视觉领域最激动人心的应用之一。本文将带你深入OpenCV 4.8.0的底层实现&#xff0c;…...

MATLAB/Simulink 光伏混合储能的 VSG 构网型系统并网仿真探索

MATLAB/Simulink光伏混合储能的VSG构网型系统并网仿真 构网型储能系统由光伏模块进行发电&#xff0c;蓄电池和超级电容构成混合型储能系统&#xff0c;并网控制采用虚拟同步机VSG进行控制。 其中&#xff0c;混合储能HESS由蓄电池和超级电容组成&#xff0c;对光伏并网系统实现…...

OpenClaw性能调优:Qwen3-14B镜像任务吞吐量提升300%实战

OpenClaw性能调优&#xff1a;Qwen3-14B镜像任务吞吐量提升300%实战 1. 问题背景与挑战 去年在尝试用OpenClaw对接本地部署的Qwen3-14B模型时&#xff0c;我发现一个尴尬的现象&#xff1a;当处理批量文件整理任务时&#xff0c;系统平均响应时间会从单任务的3秒暴增到20秒以…...

C语言开发界面太难?libui-ng开源库帮你快速搞定

一、C语言开发者的噩梦&#xff0c;终被一个开源库打破&#xff1f; 搞C语言开发的那些人&#xff0c;基本上都躲不开这么一个让人头疼的点&#xff0c;就是想要去写一个可视化的界面&#xff0c;要嘛就得被迫去学习繁杂的Qt、GTK&#xff0c;不然呢就得拼了命去写Win32代码&a…...

红外遥控技术原理与工程实践

1. 红外遥控技术基础解析 红外遥控技术自20世纪80年代开始普及&#xff0c;如今已成为家电控制领域最成熟可靠的解决方案之一。作为一名电子工程师&#xff0c;我在多个智能家居项目中都深度应用过红外控制模块。红外技术的核心优势在于其简单可靠的物理层实现和标准化的通信协…...

《SpringBoot》EasyExcel实现百万数据的导入导出

在技术领域&#xff0c;我们常常被那些闪耀的、可见的成果所吸引。今天&#xff0c;这个焦点无疑是大语言模型技术。它们的流畅对话、惊人的创造力&#xff0c;让我们得以一窥未来的轮廓。然而&#xff0c;作为在企业一线构建、部署和维护复杂系统的实践者&#xff0c;我们深知…...