~/.zhsrc
~ 代表家目录.就是当前用户的的一级目录
➜ ~ ~
➜ ~ pwd
/Users/shanks
就是这个目录
~/.zshrc
zsh: permission denied: /Users/shanks/.zshrc
./gradlew
./代表当前目录
再linux 系统中,文件夹前面加. 代表这是隐藏文件
Android Repo https://source.android.google.cn/setup/develop/repo?hl=zh-cn
Repo https://gerrit.googlesource.com/git-repo/+/refs/heads/master/README.md
安装 repo
$ mkdir -p ~/.bin
$ PATH="${HOME}/.bin:${PATH}"
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/.bin/repo
$ chmod a+rx ~/.bin/repo
然后你可以在
把他加入到配置文件
vi ~/.zshrc
最底下
export PATH=${PATH}:/Users/Shanks/.bin
source ~/.zshrc
Git作为一个版本控制工具,功能很强大,新建分支,切换分支都很快,小团队用Git就能很好地管理好了,但如果是Android系统如此庞大的工程呢,我们知道全套Android源码是很大很大的,目录结构也很复杂,如果直接将其init成一个Git库,简直是灾难,也不符合解耦的要求。
为什么会有Repo?
Git是无法将整个库中间的某个目录单独clone出来的,这样如果我只是负责frameworks的,但我下代码的时候却得把整个都下下来。
那怎么办呢,很简单,分模块嘛,比如就把根目录下的每个目录当做一个单独的Git库,这样开发只要专注于自己的模块就行,其他模块的代码就当看不见。嗯,很好,问题似乎解决了。但这样还不够,你总得有一套完整的Android 源码才能编译出一个版本吧,你怎么知道这个大版本里包含了哪个库呢,有人会说,为啥要记录呢,不就这么些库嘛,依次取出来不就行了。或许对于我们工作中接触到的工程规模来说,这样是够了,但Android,都已经7.1.1了,相比较一开始,Android本身也发生了翻天覆地的变化,有些模块在演进过程中可能就渐渐被抛弃了,这个时候我们就需要一个定义一个文件去记录每一个版本的Android到底用了哪些库。
那么Repo来了
Repo是谷歌用Python脚本写的调用git的一个脚本。主要是用来下载、多个Git仓库。
而Android项目那是由多个git仓库组成的,它有非常多的分支。<br /> 如:android/framework/base它就是一个git仓库。<br /> android/packages/apps/Camera(app下面的所有的应用都是单独的git仓库进行的管理)<br /> 这样假如你不用repo进行统一管理的话,就说基本的你下载Android源码,难道要一个个的写每个仓库的url?然后下载完<br /> 单独的配置每个仓库?单独初始化什么的?显然比较麻烦。<br /> repo 其实就是把相关的git操作命令进行了封装,方便一下操作好几个git仓库.