对于Android开发者来说,熟悉源码并没有坏处.
我个人认为,熟悉源码之后可以更好的理解Android的工作流程,而且在我们开发的时候,知道原理,可以给予我们很多的帮助.比如说,自定义View的时候,你知道Android的View绘制流程,那么你想要实现一个自己的View,那就没有什么难度了.
在国内想要下载Android的源码,常规手段是通过,然后去下载google官方的git仓库.但是,这个确实是很不现实,因为Android N的源码大小已经达到了23G,不考虑能否的情况,我们假设你已经能访问google的仓库了,但是这个大小对于网速来说,也是很尴尬的.
笔者下载的时候是通过国内 清华大学 服务器站点下载,运行环境当然是linux啦,下面给出具体步骤:
下载的时候一定要保证网速,因为这个站点的下载不支持断点下载 算是一个小坑吧
对于linux下的下载的话,有一些必要的工具还是需要有的,其中有以下几个:git , curl ,repo;
笔者用的是unbunt , 安装如下 :
1.git —–>sudo apt-get install git
2.curl—->sudo agp-get install curl
3.repo:关于repo我想多说一点,因为设计到配置的问题
从android的源码下载网站可以看到,是repo是建议我们在home下配置一个bin目录的,然后把bin目录path添加在配置文件中,笔者用的是虚拟机上的ubuntu,又想原本的操作系统可以看到下载好的源码,所以我是做了一个共享文件夹,然后在共享文件夹创建的bin目录,再把bin目录软连到home下的.
具体命令如下:
mkdir /bin
ln -s bin/ ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下载初始化包这里20G以上
tar xvf aosp-latest.tar
cd AOSP # 解压得到的 AOSP 工程目录
//这时 ls 的话什么也看不到,因为只有一个隐藏的 .repo 目录
repo sync # 正常同步一遍即可得到完整目录(因为已经下载了大部分,更新很快)
build/core/version_defaults.mk查看当前的android系统的版本号