把我之前编译Android系统源码和内核源码的过程记录一下,因为这个过程真的是受益匪浅,看重的不是结果,主要是过程,在这个过程中,我感觉最大的收获就是学习的耐心和毅力,因为在这个过程中那个问题就像是雨点似的天天打在你的脸上,虽然现在网上有很多文章介绍怎么去操作,但是我说句真心话,那些只能提供参考,因为你的工作环境毕竟和他不一样,所以等你按照他的步骤去操作的时候还是会遇到很多问题,当然我写这篇文章也不是说我的方法就是一定可以的,我只能说我是成功了,所以我只是想记录一下,以后可以进行翻阅查看,主要的还是要看自己的毅力和解决问题的能力了,好了不多说了,说正事吧~~
首先我们来看一下编译Android系统源码
第一:我们知道Android系统是基于Linux开发的,所以我们想编译Android系统源码的话,就必须有一个Linux系统,这里我使用了Ubuntu 64位的系统,这个镜像文件的下载地址是: 链接: 密码: fach
问题一:至于我为什么要使用64位系统,因为在后面我会遇到一个问题,就是我第一次安装的是32位的系统,结果在编译的过程中遇到一个问题就是:
ERROR: prebuilts/tools/gcc-sdk/../../gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6/bin/x86_64-linux-ar only run on 64-bit linux
编译不通过的,下面的这篇文章就是说怎么解决上的问题,主要就是修改一些指定的文件
但是很悲剧的是:我按照这个方法操作,并没有成功,那怎么办呢?我最后选择了重装了一个64位的系统,但是这次就没有用虚拟机了,直接安装到电脑中的。
问题二:安装的时候我先后卸载在安装系统有好几次,主要原因是第一次编译没经验,开始的时候就分配了20G的空间,结果编译的时候傻了,完全不够,所以我直截了当将电脑的200G的空间都分配出去了
那么安装系统完之后,还有一个问题,当我再去使用同一个方式去下载Android源码的时候,发现总是连接不上了,感觉Google退出中国了,源码也很难下到了,中间只有大约一个月的时间,就不可以下载了,好假,尝试过各种方法,我还买VPN,结果还是不行,那么怎么办呢?之前是有源码的,但是在虚拟机中,这时候就需要将虚拟机中的源码拷贝出来了,那么怎么从虚拟机中拷贝文件呢?这个很简单的,我用的VM的,他能够设置共享文件夹(具体方法可以搜索一下),但是又有一个问题来了,当时在虚拟机中下载的是Android4.4源码,大约有18G,我就尝试拷贝了,结果发现电脑最好拷贝死机了,主要是因为小文件太多了,大约有60万个,电脑配置也不好,所以尝试了几次都是死机了,那拷贝不出来怎么办呢?问题都是得解决的,突然想到了压缩一下在拷贝:
通过上面的一篇文章中,压缩拷贝,结果发现效果很不错,而且压缩也是很快的,这下拷贝就顺利了
至此我们解决了系统问题和源码问题
注意:这里所说的源码问题不是指下载源码的问题,我会在最后面说一下现在如何能够得到相应的Android源码,反正从google上去下载我是不相信了。所以我提供了我已经下载好并且打成压缩包的连接, android-4.0.3_r1-20121115.tar.bz2 下载见
上面的前奏都做好了,下面就来进行编译操作
第一步:在此之前还需要安装一些辅助工具,防止在安装的时候提示错误,当然我们可以现在不安装,等到安装的时候会提示相应的错误,到时候我只需要针对性的去安装,但是那样在编译的过程中会很不爽的,所以我还是先把这些工作做了
当JDK安装完毕之后,下面就需要来安装一下编译库了:
sudo apt-get install gnupg flex bison gperf libsdl1.2-dev libesd0-dev
sudo apt-get install libwxgtk2.6-dev squashfs-tools build-essential
sudo apt-get install zlib1g-dev pngcrush schedtool ia32-libs libncurses5-dev
当然这些是必须要安装的,但是不是一定在编译的时候就没有问题,所以我们在编译的时候遇到什么问题的时候我们再去进行解决