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,可能会改变)
以上命令的作用就是让repo一个可执行的命令。
3.新建一个文件夹,作为repo的工作环境,也就是android源码将下载到这个文件夹里。
在下载过程中会形成一个.repo的隐藏文件,可以不用去管他(下载完后有30多个G),下载完成后会自动导出源码。
下载过程中可能遇到的问题:
主要思路是增大swap分区的大小,以下命令为swap分区增加一个文件名为myfile的2048M大小的swapfile
下载环境: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
相关文章推荐
- Android MP3录音实现
- Android六大类进程介绍
- android极光推送集成
- android中防止多次点击
- android学习笔记之nofication的使用
- Android 开发 命名规范(基础回顾)
- Android LK Bootlaoder启动概览
- Android LK Bootlaoder启动概览
- [Android]相对布局
- 关于Android Studio使用出现R文件丢失
- Android在绑定service的时候出现java.lang.ClassCastException:android.os.BinderProxy cannot be cast to ...异常
- Android 6.0运行时权限
- android-genymotion模拟器使用
- 完全理解android Activity启动模式LauchMode (深入Activity与任务栈)
- Activity的入场动画合集
- LruCache源码浅析
- 使用 Android Studio自定义View02——图文混排的View
- Android ScrollView真正滑动底部
- Android静态安全检测 -> SharedPreferences任意读写
- 软件开发常用工具介绍