要说明一下就是,源码工程大概40-60G,根据版本会有不同,一般版本越高项目越大。要编译源码最好预留80G以上的空间,不然很容易导致空间不足等问题。编译完成后,基本也只能在谷歌、三星手机或者一些ROOT以后的 支持的手机进行刷机
1、下载OPENJDK REPO 等。出现配置环境变量导致LS RM等命令无法使用
解决方案: exportPATH
=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2、kernel.org无法访问导致android的源码无法下载,这是另外一个git服务器的android源码的repo文件。
操作如下
$ curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > repo //获取repo
$ chmod a+x repo
$ PATH= ~/bin:$PATH
3、初始化repo
repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest //中国科技技术大学的镜像源
4、下载Android源代码时,在最后一步调用repo sync,出现“fatal: '../platform/abi/cpp.git' does not appear to be a git repository”。
在存放android系统源代码的目录(也就是执行repo sync命令的目录)下,有个.repo的隐藏目录,用ls -a可以查看的到,进入该目录:cd .repo;
打开.repo目录下的manifest.xml文件(命令vim manifest.xml)并找到fetch属性,在我的文件中显示fetch="..",将fetch修改为fetch="git://Android.git.linaro.org/",保存并退出;
继续repo sync就可以下载了
5、下载两天了没下完。。卡住了,不过也算有意外收获。
git clone 是不支持断点续传的,repo是支持的,git fetch是可以断点续传的
git fetch git://…..git
即使断掉了,可以继续
git fetch git://…..git
6、中科大的源太弱了,换成清华的源快多了。。而且最后android5.1源码大小为55g,所以要预留至少100G的空间吧。清华的源换地址了,百度tsinghua能找到,不要盲目相信以前的博客,很多都过时了,而且unbuntu的 apt-get源换成阿里的会好很多,网易的确少很多东西,我卡了半天在那里。http://blog.csdn.net/fuchaosz/article/details/51487585
这个人的博客关于如何下载编译android写的很详细,我就不重复了
7、编译要很久,要耐心,虚拟机最好配置的条件好的 2G运行内存 100G存储感觉是必要的。还有ubuntu16会出现很多意外的情况,如果你是跟我一样的菜鸟,还是老老实实用ubuntu14编译吧,一步到位基本可以。
8、编译出这个错
make: *** [out/host/Linux-x86/obj32/SHARED_LIBRARIES/libjavacore_intermediates/luni/src/main/native/android_system_OsConstants.o] Error 254make: *** Waiting for unfinished jobs....
这是swap区不够大的原因。导致clang++ kernel opps解决方法:请加大分区:
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
开机自动挂载swap:使用 vi 或 nano 在 /etc/fstab 文件底部添加如下内容:
/swapfile none swap sw 0 0
9、emulator如果提示没有此命令的错误,可以
source build/envsetup.sh
lunch 选择你编译的版本号
再使用emulator即可
如果有warnning 550M>200M
用 emulator -partition-size 600 即可