Android源码编译环境详细配置

        关于android编译环境的配置,这里要特别强调下,大家最好引起足够的重视,因为我们在编译android源码的过程中要是出了问题,大部分时编译环境引起的,对的,你没看错,真是的大部分!所以接下来分享下我配置环境的一个过程!

一、openjdk安装

          对于jdk大家应该不陌生,但是openjdk的话有些朋友可能没用过,这个东西的出现是由于甲骨文跟谷歌的一场官司,至于详情大家可以去百度下,还是蛮有意思的!所以在编译android5.0之后的本版我们就需要用openjdk7了,而到了7.0之后,那就需要openjdk8了,这里我是一次性装了7跟8两个版本的!
         

1、首先我们安装openjdk-7-jdk

sudo apt-get install openjdk-7-jdk
 安装完成之后使用java -version,出现如下信息的时候就表示安装成功了!
 

2、接着安装openjdk-8-jdk

这里有些时候会出现找不到软件包的情况,如下:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package openjdk-8-jdk
这个时候别慌,添加下源,然后更新下即可,命令如下:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk

二、配置默认openjdk环境

1、不知道大家注意到了没有,我们按照上述步骤安装完openjdk之后,使用java -version命令时显示的信息是:

     server@server:~$ java -version
     java version "1.7.0_151"
     OpenJDK Runtime Environment (IcedTea 2.6.11) (7u151-2.6.11-2ubuntu0.14.04.1)
     OpenJDK 64-Bit Server VM (build 24.151-b01, mixed mode)

也就是说我们当前使用的jdk环境时openjdk-7-jdk的,那为什么时7而不是8呢?接下来我们介绍几个命令!

2、update-java-alternatives -l命令

    执行这个命令的时候我们会看到如下信息:
    server@server:~$ update-java-alternatives -l
    ava-1.7.0-openjdk-amd64 1071 /usr/lib/jvm/java-1.7.0-openjdk-amd64
    java-1.8.0-openjdk-amd64 1069 /usr/lib/jvm/java-1.8.0-openjdk-amd64

          这里显示出来的信息就是当前系统中安装的openjdk列表、我们要注意的时1071跟1069那两个值,这两个值是openjdk环境的优先级,也就是说当我们没有人为的去干预的时候,我们的系统时安装这个值去选择使用的!那么接下来我们去人为的关于下,将我们当前的openjdk环境切换到openjdk-8-jdk

3、sudo update-alternatives --config java 命令

    执行该命令后我们会看到如下信息:
    server@server:~$ sudo update-alternatives --config java
    sudo] password for server: 
    有 2 个候选项可用于替换 java (提供 /usr/bin/java)。

            选择       路径                                          优先级  状态
          ------------------------------------------------------------
           0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      自动模式
          * 1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      手动模式
           2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1069      手动模式

 要维持当前值[*]请按回车键,或者键入选择的编号:

此时我们选择2然后回车:
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in 手动模式
          
使用java -version命令查看当前openjdk环境:
    server@server:~$ java -version
    openjdk version "1.8.0_162"
    OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1~14.04-b12)
    OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode)

          这样我们就对jdk的环境完成了切换,那么当我们编译不同版本的source的时候我们就可以轻松的通过这种方式切换到不同的jdk版本了!


三、配置一些其它的依赖库

由于每个人使用的Ubuntu版本不同,所以所需要安装的一些东西也是不同的,下面给出12.04跟14.04两个版本的吧

     Installing required packages (Ubuntu 12.04)

     $ 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
     $ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

     Installing required packages (Ubuntu 14.04)
     
     $ sudo apt-get install bison g++-multilib git gperf libxml2-utils lib32z-dev

     这样,我们整个编译还击算是搭建完成了,注意,我这里仅仅是说编译环境而已,因为每个人安装的系统多多少少都会有些细小的差异,所以具体还是要看编译的时候会不会报错,报错的时候再另行解决即可!


你可能感兴趣的:(android系统开发)