Android4.4编译环境的搭建和编译

第一部分:编译环境的硬件和软件平台介绍

1、编译环境:Ubuntu 14.04 X86_64(64位)
PS:官方建议12.04。小编使用的是8G真机(物理机),虚拟机用户建议设置内存4G以上、硬盘空间60G以上。
2、软件环境:Android4.4源代码。(本文不涉及内核编译,所以只会讲到Android源码部分)

第二部分:Android编译环境的搭建

1、Linux环境:在这里不过多介绍,自行百度。可以是虚拟机也可以是真机。
2、JDK的安装与配置:编译Android2.3以上需要使用Java SE 1.6。版本过高和过低都不行。
(1)、建立/usr/lib/jvm目录。( JDK目录可以自行放置,只要环境配好就行了,这里我们是在/usr/lib/jvm目录下配置,需要管理员权限,所以在命令前面需要加上 sudo。)

$ sudo mkdir /usr/lib/jvm

(2)、将jdk-6u45-linux-x64.bin拷贝到/usr/lib/jvm目录下并解压。

$ sudo ./jdk-6u45-linux-x64.bin

如果无法解压 需要先给权限在解压。(这里就给全部的权限吧。)

$ sudo chmod 777 jdk-6u45-linux-x64.bin
$ sudo ./jdk-6u45-linux-x64.bin

解压完成,得到jdk1.6.0_45目录。
(3)、配置JDK环境。在/etc/profile文件最后面添加环境。

#Java_HOME为刚才解压出来的JDK的路径
Java_HOME=/usr/lib/jvm/jdk1.6.0_45
PATH=$Java_HOME/bin:$PATH
classpath=.:$Java_HOME/lib/dt.jar:$Java_HOME/lib/tools.jar
export Java_HOME
export PATH
export classpath

(4)、执行JDK环境、测试JDK是否安装成功:

$ source /etc/profile
$ java -version

(5)、安装成功即可得到Java的版本信息。如果不成功建议重启一下电脑后在输入java -version。过不还是不行请检查/etc/profile的配置是否正确。

ava version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

(网速原因,后续会给大家上传Ubuntu14.04 X86_64系统镜像和JDK安装文件。)
3、编译源码依赖包的安装

$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

到这里基本编译环境搭建完成,下面进入源码编译。

第三部分:Android编译编译

1、初始化环境:进入源码目录输入source build/envsetup.sh

$ source build/envsetup.sh

2、选择需要编译的版本:lunch

chengkni@chengkni-Aspire-4752:~/Android_SDK/Source_4.4.2$ lunch 

You're building on Linux

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_x86-eng
     3. aosp_mips-eng
     4. vbox_x86-eng
     5. aosp_manta-userdebug
     6. aosp_tilapia-userdebug
     7. aosp_deb-userdebug
     8. aosp_flo-userdebug
     9. aosp_grouper-userdebug
     10. aosp_hammerhead-userdebug
     11. aosp_mako-userdebug
     12. mini_armv7a_neon-userdebug
     13. mini_x86-userdebug
     14. mini_mips-userdebug

Which would you like? [aosp_arm-eng]

3、开始编译:输入:make
(make后边带 -j是多线程编译,如果CPU强悍可以把j后边的数字填写更大。如:make -j4代表开4线程编译。如遇开多线程编译出错还是直接编译吧,博主开4线程就报错了,最后乖乖的单线程编译的四五个小时。)

$ make

5、编译完成:输入emulator运行虚拟机。虚拟机运行成功。编译成功。到此结束。

$ emulator