获取SDK
SDK 使用 Repo 工具管理,拉取 SDK 需要配置安装 Repo 工具。
Repo官网:git-repo
安装 Repo 工具
可以用包管理器进行安装:
# Debian/Ubuntu.
$ sudo apt-get install repo
# Gentoo.
$ sudo emerge dev-vcs/repo
也可以手动单独安装:
$ mkdir -p ~/.bin
$ PATH="${HOME}/.bin:${PATH}"
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
$ chmod a+rx ~/.bin/repo
国内镜像源安装:
$ mkdir -p ~/.bin
$ PATH="${HOME}/.bin:${PATH}"
$ curl https://mirrors.bfsu.edu.cn/git/git-repo > ~/.bin/repo
$ chmod a+rx ~/.bin/repo
由于谷歌服务器位于国外,每次运行时Repo会检查更新导致下载较慢,国内用户可以配置镜像源。否则会像下图一样卡住不动然后失败。
更换镜像源
Repo 的运行过程中会尝试访问官方的 git 源更新自己,更换镜像源可以提高下载速度。将如下内容复制到你的~/.bashrc
里
$ echo export REPO_URL='https://mirrors.bfsu.edu.cn/git/git-repo' >> ~/.bashrc
$ source ~/.bashrc
如果您使用的是 dash、hash、 zsh 等 shell,请参照 shell 的文档配置。
配置保存身份认证
新版本 git 默认加强了安全性,身份认证不会保存,导致拉取 repo 需要多次输入密码,可以用下列命令配置:
git config --global credential.helper store
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-77UgSckS-1693186161913)(/assets/uploads/files/1690526214117-20c115a9-6a4c-40cc-8b35-9d70bc65974e-image.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-64hoazVm-1693186161913)(assets/post/get_sdk/image-20230728103223753.png)]
常见问题
-
卡在
Downloading Repo source from https://gerrit.googlesource.com/git-repo
不动。- 国内网络较慢,参照上面的更换镜像源解决。
-
配置保存身份认证无效不启用
- 检查是否运行了
sudo git config --global credential.helper store
使用了sudo
后保存的信息会存储到root
用户下并非当前用户。
- 检查是否运行了
-
出现错误
fatal: cannot make directory: File exists
- 之前拉取了 repo 但是不完整,需要删除
.repo
文件夹重新拉取
- 之前拉取了 repo 但是不完整,需要删除
SDK 拉取
以 tina-v853-open
为例,讲述如何拉取 SDK。
新建文件夹保存 SDK
使用 mkdir
命令新建文件夹,保存之后需要拉取的 SDK,然后 cd
进入到刚才新建的文件夹中。
$ mkdir tina-v853-open
$ cd tina-v853-open
初始化 Repo 仓库
使用 repo init
命令初始化仓库,tina-d1-h
的仓库地址是 https://sdk.aw-ol.com/git_repo/V853Tina_Open/manifest.git
需要执行命令:
$ repo init -u https://sdk.aw-ol.com/git_repo/V853Tina_Open/manifest.git -b master -m tina-v853-open.xml
如果提示 Username for 'https://sdk.aw-ol.com':
请输入 全志在线开发者论坛 的用户名和密码。(注:需要全志在线开发者论坛LV2等级以上用户才有权限拉取 SDK)
拉取 SDK
使用命令 repo sync
拉取 SDK
$ repo sync
由于 SDK 普遍较大,拉取可能需要一定的时间。
创建开发环境
使用命令 repo start
创建开发环境分支
$ repo start devboard-v853-tina-for-awol --all
至此,SDK 获取完毕。