【笔记】通过码云Gitee获取OpenHarmony源码
Note:下面包含操作过程和问题解决(首次安装Ubuntu,环境未完善),没有遇到问题可以直接跳过问题part了,小白也能完成配置下载。
Note:下面包含操作过程和问题解决(首次安装Ubuntu,环境未完善),没有遇到问题可以直接跳过问题part了,小白也能完成配置下载。
前置准备(Git环境账号)
(一)安装git客户端
本地虚拟机用Ubuntu(其他Linux命令不同)
# 基于 Debian 的发行版上,如 Ubuntu,使用 apt 下载
$ sudo apt install git-all
输入y确认安装,
安装完成
(二)安装git-lfs
Git LFS is a command line extension and specification for managing large files with Git.
The client is written in Go, with pre-compiled binaries available for Mac, Windows, Linux, and FreeBSD. Check out the website for an overview of features.
Git LFS 是Git的一个扩展,旨在更有效地处理大型文件。
- Linux users. Debian and RPM packages are available from PackageCloud.
- Binary packages. In addition, binary packages are available for Linux, macOS, Windows, and FreeBSD.
GitHub比较难访问上。
sudo apt-get install git-lfs
(三)配置Gitee码云用户信息
查看当前git账户信息,不配置时是没有任何信息的,
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
(四)安装码云repo工具
创建目录并在此路径下安装
# 创建“~/bin”目录(可自定义,如下bin目录创建在与desktop同级)
mkdir ~/bin
# 安装码云repo工具
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo
# 修改repo权限
chmod a+x ~/bin/repo
# 安装包(可通过pip3 install --help 查看指令使用手册)
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
创建目录及正常安装过程
1、创建bin文件夹并查看。终端路径默认是Desktop,因此“~/”会在与Desktop同一目录。
2、安装repo工具(前提是安装好curl,若未完成所需工具安装,下文有报错解决,终端也一样有解决提示)
3、授权
Note:pip3使用手册介绍
环境问题:安装时curl等报错解决
报错提示:
Command 'curl' not found, but can be installed with:
sudo snap install curl # version 8.1.2, or
sudo apt install curl # version 7.68.0-1ubuntu2.20See 'snap info curl' for additional versions.
根据提示Ubuntu使用以下命令,输入密码并y确认安装
sudo apt install curl # version 7.68.0-1ubuntu2.20
问题:安装报错了
问题:如下使用apt-get也是同样的错误,应该要先更新
解决方案:应该要先执行下面命令更新
sudo apt-get update #先更新,后安装
然后curl安装成功了:
(五)将repo添加到环境变量
vim ~/.bashrc # 编辑环境变量
export PATH=~/bin:$PATH # 在环境变量的最后添加一行repo路径信息
source ~/.bashrc # 应用环境变量
1、输入“vim ~/.bashrc”进入配置文件编辑
2、在环境变量的最后添加一行repo路径信息:export PATH=~/bin:$PATH
3、应用环境变量,使配置生效
环境问题:缺少vim
安装完成,可以编辑了,
※下载步骤
说明:
- 发布版本代码相对比较稳定,开发者可基于发布版本代码进行商用功能开发。
- Master主干为开发分支,开发者可通过Master主干获取最新特性。
(一)OpenHarmony发布版本代码获取
方式请参考Release Notes,当前已更新到4。
(二)OpenHarmony主干代码获取
方式一(推荐):通过repo + ssh下载
(需注册公钥,请参考码云帮助中心)。
repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
repo初始化仓库,指定master分支
-c, –current-branch:只同步指定的远程分支。默认情况下,sync会同步所有的远程分支,当远程分支比较多的时候,下载的代码量就大。使用该参数,可以缩减下载时间,节省本地磁盘空间。
方式二:通过repo + https下载。
repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
问题1:没有python
报错提示:/usr/bin/env: ‘python’: No such file or directory
先查看当前python版本,确认是否真的没有python。
# 用于查看python版本的指令
python -V
python --version
python # 进入python了
没有python,但是有python3(可按提示执行python3)。看来系统默认安装的是python3版本,
Note:如果环境中安装了2和3,分别区分 python2 -V 和python3 -V
解决:从版本查看确定系统已经安装了python,那么将Python 3.8设置为默认Python版本即可。
#1. 查看python3.8的路径
which python3.8
#2. 将Python和Python3切换为Python 3.8
sudo update-alternatives --install /usr/bin/python python {Python 3.8 路径} 1
#{Python 3.8 路径}为上一步查看的Python 3.8的位置
#本机例子,不要漏了1
#使用手册 update-alternatives: --install needs <link> <name> <path> <priority>
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 {Python 3.8 路径} 1
1、先查看python3.8的路径(上面提示版本3.8.10,但查看路径使用python3.8,没有空格的)
Note:也能直接进入/usr/bin目录下查看python全部情况,如下系统已经安装python和python3.8这两种。
2、将python和python3切换为Python 3.8(按需可选是否配置python3),不要漏了1。
Note:Debian系列(Ubuntu是其子类)update-alternatives工具用于在多个同功能的软件,或软件的多个不同版本间选择。
问题2:SSH公钥未配置,repo fail
解决方案:参考码云Gitee的 「仓库管理」->「公钥管理」 章节。
Note:.ssh key的类型有四种,分别是dsa、rsa、 ecdsa、ed25519。如上使用的是ed25519,也可以替换成比较常用的rsa。
1、在Ubuntu虚拟机生成sshkey
ssh-keygen -t ed25519 -C "xxxxx@xxx.com"
# Generating public/private ed25519 key pair...
会提示生成公钥.pub文件的路径。
2、在Gitee账户添加公钥配置
根据上述提示路径,可查看用户 ~/.ssh/id_ed25519.pub
文件内容,获取到自己的 public key(公钥)。
复制生成后的 ssh key,通过主页右上角 「个人设置」->「安全设置」->「SSH公钥」->「添加公钥」 ,添加生成的 public key 添加到当前账户中。(标题可自定义,需要输入Gitee密码验证。)
项目部署用:仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中。
重新下载还是报错,需要配置本地git账户信息,按指令执行就好了。
Other
安装库和工具集
下载OpenHarmony的过程中报错缺少xxx,因此安装需要的库和工具(如果是从头开始新建一台虚拟机的话)。
Ubuntu 使用如下apt-get命令安装后续操作所需的库和工具:
sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf
build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11protocore-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc
unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler
make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarfdev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo
dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons
python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd
libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfstools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5
libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev
libxrandr-dev libxi-dev
sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi
结合ubuntu虚拟机安装配置,包含但不限于,主要是目前遇到的:
- make gcc perl
- git-lfs
- curl
- vim
- python
同步指定分支代码命令
如OpenHarmony-4.1-Beta1
repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.1-Beta1 --no-repo-verify
查看目录大小,repo init完成4.1Beta1的只有11M(4x在同步代码)
du -sh ./* #查看当前目录内存占用
OpenHarmony版本
OpenHarmony Stable Version类型的源码为OpenHarmony稳定版本源码,通过镜像站点获取,支持:
- OpenHarmony-v3.0.3-LTS、
- OpenHarmony-v3.1-Release、
- OpenHarmony-v3.2-Beta3、
- OpenHarmony-v3.2-Beta4、
- OpenHarmony-v3.2-Beta5、
- OpenHarmony-v3.2-Release版本。
获取OpenHarmony对应版本的最新源码,请参考从码云仓库获取源码。
获取源码后,参考 《HUAWEI DevEco Device Tool 使用指南》的“导入OpenHarmony源码”章节,可在DevEco Device Tool 中导入源码。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)