# ohos_download **Repository Path**: itopen/ohos_download ## Basic Information - **Project Name**: ohos_download - **Description**: 一键下载openharmony代码 - **Primary Language**: Shell - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 13 - **Forks**: 10 - **Created**: 2024-05-08 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ohos_download ## 一、脚本介绍 ### 1.1 概述 本仓脚本用于项目中下载`ohos`主要分支和tag代码使用,省去下载代码时找对应分支的命令麻烦 ### 1.2 路径配置 因每个人当第一次使用该脚本下载代码的时候会提示设置代码下载的路径,然后会将该路径保存在本地的`.config`文件中,后面再次下载则不再提示 - 不输入直接回车,则默认保存在`~/OpenHarmony`里面 - 输入设置`.`,则表示保存在脚本所在的目录下面 - 其他路径可自行设置,但必须为**绝对路径** 运行效果如下: ```shell first download code, please set code download path, default is ~/OpenHarmony . # 这里输入想存放的路径 ``` ### 1.3 分支介绍 OpenHarmony各个版本介绍参见:[OpenHarmony版本介绍](./version/Readme.md) 脚本运行后如下所示,后续添加其他版本可能有增加,以实际效果为准 ```shell ********************************************* * Welcome to download OpenHarmony Code * * Please Choice OpenHarmony SDK: * * OpenHarmony Riscv64 * * dayu800-3.2-release press 1.1 * * dayu800a-v4.1-release press 1.2 * * OpenHarmony Arm64 * * raspberry-v4.1-release press 1.100 * * raspberry-v5.0-release press 1.101 * * OpenHarmony Branch * * OpenHarmony master prese 2.1 * * OpenHarmony-3.0-LTS press 2.2 * * OpenHarmony-3.1-Release press 2.3 * * OpenHarmony-3.2-Release press 2.4 * * OpenHarmony-4.0-Release press 2.5 * * OpenHarmony-4.1-Release press 2.6 * * OpenHarmony-5.0.0-Release press 2.7 * * OpenHarmony-5.0.1-Release press 2.8 * * OpenHarmony-5.0.2-Release press 2.9 * * OpenHarmony-5.0.3-Release press 2.10 * * OpenHarmony-5.1.0-Release press 2.11 * * OpenHarmony-6.0-Release press 2.12 * * OpenHarmony Tag * * OpenHarmony-v3.0-LTS press v3.0 * * OpenHarmony-v3.1-Release press v3.1 * * OpenHarmony-v3.2-Release press v3.2 * * OpenHarmony-v3.2.1-Release press v3.2.1 * * OpenHarmony-v3.2.2-Release press v3.2.2 * * OpenHarmony-v3.2.3-Release press v3.2.3 * * OpenHarmony-v4.0-Release press v4.0 * * OpenHarmony-v4.0.1-Release press v4.0.1 * * OpenHarmony-v4.0.2-Release press v4.0.2 * * OpenHarmony-v4.0.3-Release press v4.0.3 * * OpenHarmony-v4.0.4-Release press v4.0.4 * * OpenHarmony-v4.1-Release press v4.1 * * OpenHarmony-v4.1.1-Release press v4.1.1 * * OpenHarmony-v4.1.2-Release press v4.1.2 * * OpenHarmony-v4.1.3-Release press v4.1.3 * * OpenHarmony-v4.1.4-Release press v4.1.4 * * OpenHarmony-v5.0.0-Release press v5.0.0 * * OpenHarmony-v5.0.1-Release press v5.0.1 * * OpenHarmony-v5.0.2-Release press v5.0.2 * * OpenHarmony-v5.0.2-Release press v5.0.3 * * OpenHarmony-v5.1.0-Release press v5.1.0 * * OpenHarmony-v6.0-Release press v6.0 * * OpenHarmony-v6.0-Beta1 press v6.x * * OpenHarmony LLVM * * llvm-master press 4.1 * * OpenHarmony PC * * d3000m-v5.1.0-release-pc press 5.1 * * OpenHarmony HiSpark * * ws3321-v5.1-dev press 6.1 * ********************************************* ``` - **OpenHarmony Riscv64表示下载OpenHarmony-Riscv64的代码** - `dayu800-3.2-release`:基于`OpenHarmony`官方`OpenHarmony-3.2-Release`分支适配的dayu800代码同步到`riscv-sig`组织,[dayu800产品介绍](https://gitcode.com/itopen/dayu800) - `dayu800a-v4.1-release`:基于`OpenHarmony`官方`OpenHarmony-v4.1-Release`的tag版本适配的dayu800a代码同步到`riscv-sig`组织,[dayu800a产品介绍](https://gitcode.com/itopen/dayu800a) - **OpenHarmony Arm64表示下载OpenHarmony-Arm64架构产品的代码** - `raspberry-v4.1-release`:表示`OpenHarmony`官方`OpenHarmony-v4.1-Release`分支sig组织适配树莓派代码 - `raspberry-v5.0-release`:基于`OpenHarmony`官方`OpenHarmony-v5.0-Release`分支sig组织适配树莓派代码 - **OpenHarmony Branch表示下载官方的主要分支代码** - `OpenHarmony master`:表示`OpenHarmony`官方`master`分支源代码 - `OpenHarmony-3.0-LTS`:表示`OpenHarmony`官方`OpenHarmony-3.0-LTS`分支源代码 - `OpenHarmony-3.1-Release`:表示`OpenHarmony`官方`OpenHarmony-3.1-Release`分支源代码 - `OpenHarmony-3.2-Release`:表示`OpenHarmony`官方`OpenHarmony-3.2-Release`分支源代码 - `OpenHarmony-4.0-Release`:表示`OpenHarmony`官方`OpenHarmony-4.0-Release`分支源代码 - `OpenHarmony-4.1-Release`:表示`OpenHarmony`官方`OpenHarmony-4.1-Release`分支源代码 - `OpenHarmony-5.0.0-Release`:表示`OpenHarmony`官方`OpenHarmony-5.0.0-Release`分支源代码 - `OpenHarmony-5.0.1-Release`:表示`OpenHarmony`官方`OpenHarmony-5.0.1-Release`分支源代码 - `OpenHarmony-5.0.2-Release`:表示`OpenHarmony`官方`OpenHarmony-5.0.2-Release`分支源代码 - `OpenHarmony-5.0.3-Release`:表示`OpenHarmony`官方`OpenHarmony-5.0.3-Release`分支源代码 - `OpenHarmony-5.1.0-Release`:表示`OpenHarmony`官方`OpenHarmony-5.1.0-Release`分支源代码 - `OpenHarmony-6.0-Release`:表示`OpenHarmony`官方`OpenHarmony-6.0-Release`分支源代码 ![icon-note.gif](./img/icon/icon-note.gif) **说明:** x表示临时使用,一般有新的beta版本会替换成新版本 - **OpenHarmony Tag表示下载官方的主要Tag代码** - `OpenHarmony-v3.0-LTS`:表示`OpenHarmony`官方`OpenHarmony-v3.0-LTS`的tag源代码,[版本介绍](./version/OpenHarmony-v3.0-LTS.md) - `OpenHarmony-v3.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v3.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v3.1-release.md) - `OpenHarmony-v3.2-Release`:表示`OpenHarmony`官方`OpenHarmony-v3.2-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v3.2-release.md) - `OpenHarmony-v3.2.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v3.2.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v3.2.1-release.md) - `OpenHarmony-v3.2.2-Release`:表示`OpenHarmony`官方`OpenHarmony-v3.2.2-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v3.2.2-release.md) - `OpenHarmony-v3.2.3-Release`:表示`OpenHarmony`官方`OpenHarmony-v3.2.3-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v3.2.3-release.md) - `OpenHarmony-v4.0-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.0-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.0-release.md) - `OpenHarmony-v4.0.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.0.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.0.1-release.md) - `OpenHarmony-v4.0.2-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.0.2-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.0.2-release.md) - `OpenHarmony-v4.0.3-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.0.3-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.0.3-release.md) - `OpenHarmony-v4.0.4-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.0.4-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.0.4-release.md) - `OpenHarmony-v4.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.1-release.md) - `OpenHarmony-v4.1.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.1.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.1.1-release.md) - `OpenHarmony-v4.1.2-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.1.2-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.1.2-release.md) - `OpenHarmony-v4.1.3-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.1.3-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.1.3-release.md) - `OpenHarmony-v4.1.4-Release`:表示`OpenHarmony`官方`OpenHarmony-v4.1.4-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v4.1.4-release.md) - `OpenHarmony-v5.0.0-Release`:表示`OpenHarmony`官方`OpenHarmony-v5.0.0-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v5.0.0-release.md) - `OpenHarmony-v5.0.1-Release`:表示`OpenHarmony`官方`OpenHarmony-v5.0.1-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v5.0.1-release.md) - `OpenHarmony-v5.0.2-Release`:表示`OpenHarmony`官方`OpenHarmony-v5.0.2-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v5.0.2-release.md) - `OpenHarmony-v5.0.3-Release`:表示`OpenHarmony`官方`OpenHarmony-v5.0.3-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v5.0.3-release.md) - `OpenHarmony-v5.1.0-Release`:表示`OpenHarmony`官方`OpenHarmony-v5.1.0-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v5.1.0-release.md) - `OpenHarmony-v6.0-Release`:表示`OpenHarmony`官方`OpenHarmony-v6.0-Release`的tag源代码,[版本介绍](./version/OpenHarmony-v6.0-release.md) - `OpenHarmony-v6.0-Beta1`:表示`OpenHarmony`官方`OpenHarmony-v6.0-Beta1`的tag源代码,[版本介绍](./version/OpenHarmony-v6.0-beta1.md) - **OpenHarmony LLVM表示下载官方的LLVM代码** - `llvm-master`:表示`OpenHarmony`官方`llvm`工具链`master`分支源代码 - **OpenHarmony PC** - `d3000m-v5.1.0-release-pc`:表示基于鸿蒙`OpenHarmony-5.1.0-Release`分支适配社区飞腾D3000M的PC代码,[PC版本编译教程](https://e.gitee.com/kunyuan-hongke/projects/772312/docs/3188854/file/7087788?sub_id=14461577&scope=undefined&issue_program_id=772312) - **OpenHarmony HiSpark** - `ws3321-v5.1-dev`:表示基于鸿蒙`OpenHarmony-5.1.0-Release`分支适配的ws3321代码 ​ ![icon-note.gif](./img/icon/icon-note.gif) **说明:** PC鸿蒙和HiSpark代码需要社区申请权限,否则无法下载 ### 1.4 下载介绍 脚本会在1.2 配置的路径下创建对应的代码版本路径,如果对应的代码版本路径已经存在则会生成一个带`_tmp`后缀的路径,如果该路径仍然存在,则会提示让手动输入路径名字(仅仅是目录的名字而不是完整的路径),如果仍然存在,则程序直接退出,具体的路径在脚本运行下载代码结束后的`log`中有说明,同样脚本所要执行的下载命令`log`中也会显示打印出来,如下所示: ```shell ================================================================================================ you have been download LLVM master code url : https://gitee.com/openharmony/manifest.git branch : master xml_name : llvm-toolchain.xml code_path : /home/wen_fei/OpenHarmony/llvm-master init cmd: repo init -u https://gitcode.com/openharmony/manifest.git -b master -m llvm-toolchain.xml --no-repo-verify sync cmd: repo sync -c lfs cmd: repo forall -c 'git lfs pull' set_br cmd: repo start master --all ================================================================================================ download code success ^_^ ``` ![icon-note.gif](./img/icon/icon-note.gif) **说明:** 重复路径操作方法 ```shell you have already exist following path: /home/wen_fei/OpenHarmony/llvm-master /home/wen_fei/OpenHarmony/llvm-master_tmp please input the path name you want to download code if you want to delete the /home/wen_fei/OpenHarmony/llvm-master_tmp directly and then download it again, please press Enter. llvm_test # 直接输入要存放代码的路径名 ================================================================================================ you have been download LLVM master code url : https://gitee.com/openharmony/manifest.git branch : master xml_name : llvm-toolchain.xml code_path : /home/wen_fei/OpenHarmony/llvm_test init cmd: repo init -u https://gitcode.com/openharmony/manifest.git -b master -m llvm-toolchain.xml --no-repo-verify sync cmd: repo sync -c lfs cmd: repo forall -c 'git lfs pull' set_br cmd: repo start master --all ================================================================================================ download code success ^_^ ``` ## 二、脚本使用 ```shell git clone https://gitee.com/itopen/ohos_download.git cd ohos_download ./ohos_download.sh # 输入所需下载的分支,例如:1.1表示要下载OpenHarmony master分支 ``` ## 三、建议和体验 大家对本脚本有什么建议、优化以及使用体验均可以在讨论区提出,博主会第一时间给出回复