ubuntu 14.04 kylin 编译 android 5.0源码

来源:互联网 发布:部落冲突箭塔升级数据 编辑:程序博客网 时间:2024/05/16 06:29

         因为工作中经常用到Android源码,同时,自己也想深入的学习一下Android Framework层的东西,于是,最近尝试学习编译源码,过程真可谓十分艰辛.最后终于成功。于是,我想很有必要记录过程中遇到的问题。


1、编译环境的搭建


       Android源码编译环境需要Ubuntu,谷歌官方建议的是最好使用Ubuntu 14.04,因为他们内部测试使用的环境也是Ubuntu 14.04,当然,使用Ubuntu 12.04或者Ubuntu 14.10也是可以的。考虑到用性和稳定性,我选择是Ubuntu 14.04 Kylin LTS版本。安装Ubuntu最好是使用双系统,因为编译比较耗内存和磁盘,双系统可以充分发挥硬件的性能,减少编译的时间。当然,使用虚拟机安装Ubuntu也是可以的。安装时磁盘分配要注意,建议至少为Ubuntu分配100G磁盘。我安装时分配了100个G,home挂载了80个G左右。Swap空间分配了6G。整个源码下载下来占了32个G左右。当然在磁盘空间不够用时,可以考虑删除源码根目录下面的.repo文件,这样可以节省10多个G的空间。    

  

2、安装编译需要的软件


        编译Android 5.0的源码需要安装openjdk,不是Oracle 的 jdk,安装命令:

sudo apt-get install openjdk-7-jdk  
         安装编译依赖的软件:   
sudo apt-get install git-coresudo apt-get install gitsudo apt-get install gnupgsudo apt-get install flexsudo apt-get install bisonsudo apt-get install gperfsudo apt-get install build-essentialsudo apt-get install zipsudo apt-get install curlsudo apt-get install libc6-devsudo apt-get install libncurses5-dev:i386sudo apt-get install x11proto-core-devsudo apt-get install libx11-dev:i386sudo apt-get install libreadline6-dev:i386sudo apt-get install libgl1-mesa-devsudo apt-get install g++-multilibsudo apt-get install mingw32sudo apt-get install tofrodossudo apt-get install python-markdownsudo apt-get install libxml2-utilssudo apt-get install xsltprocsudo apt-get install zlib1g-dev:i386sudo apt-get install dpkg-dev

上面这些软件最好编译前先安装好,可能有2个会提示不需要安装,先别管,按顺序安装,不出意外,编译需要的环境已经搭建好了,按照上面的顺序安装应该不会出现依赖的问题,节省大量的时间。接下来需要下载源码和编译源码。


3、下载源码


第一步,下载配置repo:

mkdir ~/binPATH=~/bin:$PATHgit clone git://aosp.tuna.tsinghua.edu.cn/android/git-repo.git

第二步,将步骤中得到的git-repo中的repo文件拷贝到bin目录

 cp git-repo/repo ~/bin/

第三步,修改repo文件,修改REPO_URL,这一步是因为源码的原地址不能访问,需要翻墙,所以不得不替换成清华的镜像

 sudo gedit ~/bin/repo 在该文件中修改 REPO_URL = 'git://aosp.tuna.tsinghua.edu.cn/android/git-repo'

  第四步,初始化repo,并开始下载源码

mkdir anroidcd androidgit config --global user.email "youremail@jileniao.net"git config --global user.name "Your Name"repo init -u git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest -b android-5.0.2_r1下载源码repo sync
下载的时间主要看网络的好坏,下载过程中,android目录会出现一个.repo文件,等下载完成之后,才会出现Android源码的目录。下载过程中可能会中断,这时输入命令:
repo sync
可以继续下载,如果下载中断后退出终端,还需执行下面的命令,然后再回到上一步。
PATH=~/bin:$PATH
下载完成后的图片如下:


4、编译源码



第一步,设置缓存:

 cd android  prebuilts/misc/linux-x86/ccache/ccache -M 50G
第二步,加载环境变量:

. build/envsetup.sh
第三步,选择编译选项

 lunch
输入这个以后,会出现一个编译选项的列表,我选择的是1,也就是aosp_arm-eng
第四步,开始编译

make -j4

电脑配置时双核的,因此使用 -j4就是让每核使用两个线程,会减少编译的时间。输入这个命令之后,就开始编译,编译的时长因个人的电脑配置而异,我的大概用了6个小时左右。最后编译成功,如下图所示:


第五步,运行模拟器,

emulator &
运行的效果如下图所示:


1 0