您的位置:首页 > 移动开发 > Android开发

Android源码下载

2016-06-05 16:50 417 查看
刚下载了Android的源码,虽然网上有很多教程,但是还是经历了很多艰辛,这里做下总结吧。

下载环境:ubantu 14.04.

下载步骤:

1.安装git

2.利用curl下载repo。什么是repo呢,可以这样简单的理解,Android利用git进行代码管理,而Android源码又是一个非常复杂的系统,如果一个一个利用git clone命令去下载各个部分,势必非常繁杂。repo其实是一个调用git的脚本,你只要执行这个脚本,就会自动调用Android源码各个部分的git命令来下载,以此来保证代码的完整性。

下载前最好先修改hosts(etc/hosts,谷歌被墙,这是目前的host,可能会改变)

74.125.31.82 www.googlesource.com

74.125.31.82 android.googlesource.com

203.208.46.172 cache.pack.google.com

59.24.3.173cache.pack.google.com </span>
然后执行如下步骤:
<span style="font-size:18px;">mkdir ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH</span>

以上命令的作用就是让repo一个可执行的命令。

3.新建一个文件夹,作为repo的工作环境,也就是android源码将下载到这个文件夹里。

<span style="font-size:18px;">mkdir /etc/android_src
cd /etc/android_src</span>
进入这个文件夹之后执行repo init命令在此文件夹下进行初始化(安装),这里要非常注意一点,由于国外的源下载奇慢,最好使用国内的源,而不是很多教程使用谷歌源,我是用的是清华大学的源(下载速度2,3M,整个项目要下载30多个G的源码,后期导出源码也需要额外的空间,所以建议至少要有100G空闲磁盘)。

<span style="font-size:18px;">repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest</span>
或者下载指定分支的源代码(-b):

repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.1_r1
完成后即可和服务器同步了。

repo sync
这个过程可能要要很久,耐心等待即可。

在下载过程中会形成一个.repo的隐藏文件,可以不用去管他(下载完后有30多个G),下载完成后会自动导出源码。

下载过程中可能遇到的问题:

<span style="font-size:18px;">fatal: Out of memory, malloc failed (tried to allocate 1941159936 bytes)
</span>
这种错误很多人都遇到了,我试了很多方法,结果用以下的方法解决了。

主要思路是增大swap分区的大小,以下命令为swap分区增加一个文件名为myfile的2048M大小的swapfile

# dd if=/dev/zero of=/root/myswapfile bs=1M count=2048
2048+0 records in
2048+0 records out

# ls -l /root/myswapfile
-rw-r--r--    1 root     root     1073741824 Aug 14 23:47 /root/myswapfile
修改权限:

# chmod 600 /root/myswapfile
使其变成swap file:

# mkswap /root/myswapfile
开启这个swap file:

# swapon /root/myswapfile
为了在重启以后也使这个swap file有效,在/etc/fstab后边追加如下一行:

/root/myswapfile               swap                    swap    defaults        0 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: