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>
内容中包含了下载两个目录分别是 :
ohosopenharmony 系统的软件代码。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 。
-
添加包下载 apt/deb 库。
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash -
执行 apt/deb 安装指令。
$ sudo apt-get install git-lfs -
验证是否安装成功。
$ 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 源码已经有了,在 https://gitee.com/openharmony 地址中,描述了源码获取的方式。下来先写下 windows 的获取方式,再写 ubuntu 的获取方式。 获取源码前,还需要的准…...
flask app.config 用法
flask app.config flask app.config 是 Flask 应用程序的配置对象。它包含了 Flask 应用程序的所有配置信息,如数据库连接、密钥、调试模式等。 常用的 app.config 配置项如下: DEBUG:调试模式,默认为 False。 SECRET_KEY&…...
【Vue】【uni-app】实现工单列表项详情页面
这次主要实现的是一个工单详情页面 从工单列表项中点击详情 跳转到工单详情页面,这个详情页面就是这次我们要实现的页面,并可以通过点击这个关闭按钮返回到工单列表页面 首先是在我们原有的工单列表页面的按钮增加一个点击跳转 <button size"m…...
安装vmware_esxi 超详细
安装vmware_esxi 超详细 </h2><div id"cnblogs_post_body" class"blogpost-body blogpost-body-html">esxi安装手册 1、esxi介绍 ESXI原生架构模式的虚拟化技术,是不需要宿主操作系统的,它自己本身就是操作系统。因此…...
Spring-Mybatis源码解析--手写代码实现Spring整合Mybatis
文章目录 前言一、引入:二、准备工作:2.1 引入依赖2.2 数据源的文件:2.1 数据源: 2.3 业务文件: 三、整合的实现:3.1 xxxMapper 接口的扫描:3.2 xxxMapper 接口代理对象的生成:3.2 S…...
5.2 Windows驱动开发:内核取KERNEL模块基址
模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程运行后…...
聊聊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 …...
皮肤警告,羊大师讲解身体与环境的默契
皮肤警告,羊大师讲解身体与环境的默契 我们常常忽视身体皮肤所承受的压力和警告信号。皮肤是身体的第一道屏障,也是与外界环境直接接触的组织。我们的皮肤通过各种方式向我们传达信息,警告我们关于身体健康的重要问题。本文小编羊大师将带大…...
使用NVM管理多个Nodejs版同时支持vue2、vue3
1.安装nvm,下载地址: 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系统启动的第三篇文章,本文以自述的方式来讲解lmkd进程,通过本文您将了解到lmkd进程在安卓系统中存在的意义,以及它是如何杀进程的。(文中的代码是基于android13) 我是谁 init:“大…...
堆栈_队列实现栈
//请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 // // 实现 MyStack 类: // // // void push(int x) 将元素 x 压入栈顶。 // int pop() 移除…...
好用的json处理工具He3 JSON
官网地址: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模式中,一条消息,会被所有订阅的队列都消费。但是在某些场景下,我们希望不同的消息被不同的队列消费。这时就要用到Direct类型的Exchange。 在Direct模型下: 队列与交换机的绑定,不能是任意…...
Harmony 应用开发之size 脚本
作者:麦客奥德彪 在应用开发中,最终呈现在用户面前的UI,是用户能否继续使用应用的强力依据之一,在之前的开发中,Android 屏幕碎片化严重,所以出现了很多尺寸适配方案。 最小宽适配、百分比适配等等。 还有一…...
商家门店小程序怎么做?门店小程序的优势和好处
生活服务类商家在当前数字化时代,越来越认识到门店小程序的重要性。门店小程序不仅为商家提供了一个在线展示的窗口,更为其打造了一个与消费者直接互动的平台。有了门店小程序,商家可以更加便捷地管理商品信息、订单流程,同时还能…...
什么是灯塔工厂?灯塔工厂的作用?
什么是灯塔工厂? "灯塔工厂"概念源于德国的工业4.0战略,又称“工业4.0示范工厂”或“标杆工厂”,代表工业领域顶级的智能制造能力。2018年,由世界经济论坛和麦肯锡共同推出。 灯塔工厂是通过数字化、网络化和智能化手…...
【GEO-AI】SAM-Geo库(segment-geospatial)入门教程
今年4月份,Meta公布了它图形分割模型Segment-Anything,简称SAM。当时就想着这个东西用在遥感影像分割上应该效果不错,奈何自己能力有限,没有办法上手实践。偶然间看到有介绍SAM-Geo工具包的文章,决定研究一番ÿ…...
ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统
ESP32-Web-Server 实战编程-使用文件系统建立强大的 web 系统 概述 在前述章节我们讲述了在网页端控制多个 GPIO 的案例。当程序开始变得复杂,让一些功能“自动起来”是一个好的选择。 在前面的示例中,我们需要在后端为每个前端代码的 URL 指定一个对…...
kubeadm快速搭建k8s高可用集群
1.安装及优化 1.1基本环境配置 1.环境介绍 (1).高可用集群规划 主机名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一样,在之前我用Java从原理上进行了剖析,这里呢,我做项目的时候,也需要用到redis,所以这里也将去从怎么用的角度去写这篇文章。 文章目录 安装redis以及原理redis概念redis的应用场景有很多red…...
广义随机占优:多准则算法比较的稳健统计框架
1. 项目概述:当算法比较遇上决策理论在机器学习领域,我们常常面临一个看似简单、实则棘手的问题:如何科学地、令人信服地比较两个或多个算法?这个问题在学术论文、工业界选型和技术报告中无处不在。你可能会说,这还不简…...
Go语言竞态检测:race条件
Go语言竞态检测:race条件 1. race检测 go test -race ./...2. 总结 -race检测器可以发现代码中的数据竞争。...
Frida精准Hook Android HttpURLConnection实现HTTP流量分析
1. 这不是“Hook任意函数”的泛泛而谈,而是专治HttpURLConnection的精准手术刀 你有没有遇到过这种情况:想快速看清楚某个Android App到底往哪个URL发了什么HTTP请求、带了哪些Header、Body里塞了什么敏感参数,结果一上Frida就卡在“该Hook哪…...
Ventoy安装后U盘识别不了?手把手教你从下载(附国内镜像站)到成功引导Win10的完整避坑指南
Ventoy启动盘制作全攻略:从下载到成功引导Win10的避坑指南你是否曾经为了安装不同系统而反复格式化U盘?Ventoy这款国产开源工具彻底改变了传统启动盘制作方式,它允许你在同一个U盘上存放多个ISO镜像文件,无需反复格式化就能直接启…...
用100行PyTorch代码实现扩散模型:从理论到实战的完整指南
用100行PyTorch代码实现扩散模型:从理论到实战的完整指南 【免费下载链接】Diffusion-Models-pytorch Pytorch implementation of Diffusion Models (https://arxiv.org/pdf/2006.11239.pdf) 项目地址: https://gitcode.com/gh_mirrors/di/Diffusion-Models-pytor…...
Codex入门17-上下文管理(高手秘技:如何让AI精准理解你的百万行大型项目)
Codex入门17-上下文管理(高手秘技:如何让AI精准理解你的百万行大型项目) 📌 文章简介:上下文窗口是 AI 编程的"生命线"——它决定了 AI 能"看到"多少代码、"理解"多少架构。本文深入解析上下文窗口的本质,详解 Codex 如何自动收集项目信息…...
Windows关机修复机制:漏洞补丁静默安装原理与实操
1. 这不是“一键修复”,而是系统级补丁调度机制的落地实践很多人看到“360安全卫士漏洞修复全新升级”这个标题,第一反应是:又一个弹窗广告式功能更新。但如果你真点开设置页、翻过日志、对比过前后两次关机流程的系统行为,就会发…...
ARM Trace Buffer扩展与调试同步机制详解
1. ARM Trace Buffer扩展与调试状态同步机制解析在嵌入式系统和处理器架构设计中,调试与追踪技术是开发人员不可或缺的工具。ARM架构通过Trace Buffer Extension(TBE)提供了强大的指令级执行流追踪能力,其核心原理是通过专用硬件单…...
1231546
123456...
[开源] 病历自举报系统:面向临床质控的电子病历智能预审工具,用大模型扮演质疑者角色发现逻辑矛盾与缺项问题
本项目是一个专为中文电子病历(EMR)设计的轻量级质控辅助工具,核心目标是让医生在提交病历前,就能快速识别出文本中潜藏的逻辑矛盾、信息缺项、时间线错乱、数值异常和主观夸大等典型质量问题。我们不替代人工质控,也不…...
