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

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

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

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

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

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

$ sudo mkdir /usr/lib/jvm

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

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

若是没法解压 须要先给权限在解压。(这里就给所有的权限吧。)android

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

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

#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是否安装成功:web

$ source /etc/profile
$ java -version

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

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、编译源码依赖包的安装ruby

$ 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

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

第三部分:Android编译编译

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

$ source build/envsetup.sh

二、选择须要编译的版本: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] 

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

$ make

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

$ emulator