上一节,我们说到如何下载源码,不过我们是以5.0为介绍,今天我们说一下如何编译Android 4.4的源码,都是大同小异的,由于我上一节使用的是Ubun作为开发环境,由于依赖库的问题,编译Android 5.0出现各种的问题,编译一直不通过,所以我干脆切换回Ubun
关于上一节源码的下载方法可以参考我之前的文章
android 源码下载
一、开发环境
Ubuntu 14.04 LTS 桌面版本
JDK 1.6
Android 源码 4.4.4
编译前配置相应的环境
由于Ubuntu 不同的版本,里面自带的依赖库也不一样,所以我们根据不同的版本安装对应的依赖库。
我这里以14.04为例
由于编译Android4.4.4以下版本都是使用oracle的 JDK版本,而Android 5.0之后都是使用 openjdk版本了,主要都是因为甲骨文与谷歌的版权之间的问题,所以我们需要下载相应的JDK版本,注意Android 4.4.4是使用JDK 1.6的版本的,所以下载的时候不要下载最新的1.7或者1.8版本,到时检验环境依然是不通过的
我这里把oracle的1.6的地址列出来
大家下载好JDK到本地电脑后
cd /usr/local/
mkdir java
cd java
sudo cp /Download ./
sudo chmod 777 jdk-6u45-linux-x64.bin
sudo -s . ./
接着配置JDK环境
sudo vi /etc/profile,然后再最后输入如下代码
export JAVA_HOME=/usr/local/java
export jre_HMOE=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
让配置生效
输入
source /etc/profile
检查一下java版本
java -version
如果输出当前安装的版本证明没有问题了
Ubuntu 14.04的依赖库的安装
sudo apt-get install git-core gnupg flex bison gperf build-essential
zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386
lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache
libgl1-mesa-dev libxml2-utils xsltproc unzip
安装成功后,我们需要配置一下ccache,这样可以加快编译速度。
我们可以编辑.bashrc
vi .bashrc
然后输入如下代码
export USE_CCACHE=1
保存之后输入,分配50G的空间
prebuilts/misc/darwin-x86/ccache/ccache -M 50G
到了这一步我们可以检查我们的编译环境有没有缺少或者错误
进入源码目录
我这里是ming
cd ming
make clobber
只要不提示什么incorret的信息就好
接着我们可以初始化环境
source build
选择编译版本环境
lunch
我这里选择1
配置好后,我们可以进行编译源码了
make -jn
这里的n,是数字,可以根据你的CPU核心来算
比如我的CPU是双核的,直接用make -j4,当然你为了保守一点也可以用make
这个编译的时间就根据你的计算机处理速度了。编译成功后,会在out/target/product/generic生成镜像文件,ramdi,u
这个时候我们可以运行在模拟器上看看效果
emulator