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

OpenHarmony源码下载

OpenHarmony源码下载

现在的 OpenHarmony 4.0 源码已经有了,在 https://gitee.com/openharmony 地址中,描述了源码获取的方式,但那是基于 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-Release
  master

下载

在切换分支后,可以在 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") + suffix
    print(cmd)
    call(cmd)

打开python的IDLE工具

打开 python 的 IDLE 工具。

在这里插入图片描述

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

在这里插入图片描述

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


http://www.kler.cn/a/133793.html

相关文章:

  • 图论-代码随想录刷题记录[JAVA]
  • Nuxt.js 应用中的 schema:beforeWrite 事件钩子详解
  • 如何判定linux系统CPU的核心架构
  • PyTorch深度学习与企业级项目实战-预训练语言模型GPT
  • docker构建jdk11
  • 淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP前端源码
  • mount /dev/mapper/centos-root on sysroot failed处理
  • python命名空间字典
  • git 相关指令总结(持续更新中......)
  • 力扣labuladong——一刷day38
  • 车载通信架构 —— 传统车内通信网络发展回顾
  • 微积分在神经网络中的本质
  • 基于JavaWeb+SpringBoot+掌上社区疫苗微信小程序系统的设计和实现
  • 腾讯微服务平台TSF学习笔记(一)--如何使用TSF的Sidecar过滤器实现mesh应用的故障注入
  • 二维码智慧门牌管理系统升级解决方案:查询功能大提升,让地址查找变得轻松便捷!
  • 比较两个数组内容是否相同
  • 【机器学习6】概率图模型
  • 滑动窗口练习(一)— 固定窗口最大值问题
  • LinkWeChat V4.9.8 版本发布
  • HCIA-综合实验(三)
  • linux 邮箱配置
  • 十、Linux运行级别
  • 创芯科技USB_CAN【库文件】
  • Network(四)NAT实现方式与VRRP概述
  • SQL编写规范【干货】
  • YOLOv8改进 | 如何在网络结构中添加注意力机制、C2f、卷积、Neck、检测头