Linux开发环境搭建 三 (在Ubuntu上Android/Linux编译环境的准备)

Linux开发环境搭建 三 (在Ubuntu上Android/Linux编译环境的准备)


工欲善其事,必先利其器。万丈高楼平地起,Android/Linux的学习,咱们需要从最基本的开发环境开始。

一、 安装Ubuntu系统

在Linux开发环境搭建 一 (Ubuntu安装的方式,如何选择?)一文中,我们已经根据自己的实际情况选择安装了Ubuntu系统(博主itxiebo选择了第二种方式,并无其他特殊原因,只是因为这样的方式可以减少编译Android系统的时间。经过一段时间的适应,Ubuntu能满足基本的办公需要,例如,本博文便是在Ubuntu下完成的)。


二、预留足够大的硬盘空间

在安装Ubuntu时,无论是虚拟机方式,还是双系统方式,请预留足够的硬盘空间。那么,多大才算足够呢?博主在Windows 7 + Ubuntu 14.04安装时,分配给Ubuntu 80G的空间,以Android 4.4.2为例,编译之后所占硬盘空间为35GB,除去Ubuntu系统自己的消耗,只能剩下4.2GB:
Linux开发环境搭建 三 (在Ubuntu上Android/Linux编译环境的准备)_第1张图片


三、电脑内存大小直接影响Android编译速度

itxiebo的电脑内存4G,在Ubuntu独立运行下编译Android 4.4.2,实测编译时间6小时(第一次full build)。所以,在虚拟机安装Ubuntu时,要特别注意内存的分配。


以上是Ubuntu安装时需要特别注意的地方。还没有结束,我们还需要安装Java SDK(简称JDK)、交叉编译工具链和一些依赖包。

四、安装Java SDK

  1. 在/home下新建jdk文件夹。
    cd /home
    mkdir jdk

  2. 下载jdk安装包,可以选择http://www.oracle.com官网下载(注意必须是jdk 1.6版本的,Android编译需要),也可以选择博主的分享下载(jdk-6u38-linux-x64.bin)。将下载的bin文件放在/home/jdk目录下。

  3. 改变jdk-6u38-linux-x64.bin的权限,并执行此bin文件,将生成jdk1.6.0_38文件夹。
    cd /home/jdk
    chmod 777 jdk-6u38-linux-x64.bin
    ./jdk-6u38-linux-x64.bin

  4. 至此,我们在/home/jdk/jdk1.6.0_38下安装了Java SDK。接下来,我们还需要配置环境参数,即在/etc/profile中添加jdk的配置参数,使得jdk可用。
    sudo vim /etc/profile,打开profile(为何要使用sudo?因为/etc/profile具体root权限);
    键盘上输入i,进入编辑模式;
    然后,在profile文件尾部添加如下内容,按下ESC,输入:wq保存并退出vim编辑,最后source /etc/profile使环境变量生效。
    可通过java -version检查Java SDK是否生效。

export JAVA_HOME=/home/jdk/jdk1.6.0_38
export JRE_HOME=/home/jdk/jdk1.6.0_38/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

五、交叉编译工具链(toolchain)

  1. 下载arm-2009q3.tar.bz2

  2. sudo mkdir /usr/local/arm

  3. 进入arm-2009q3.tar.bz2所在的目录
    sudo tar -zxvf arm-2009q3.tar.bz2 -C /usr/local/arm/

  4. 设置环境变量,sudo vim /etc/environment,把/usr/local/arm/arm-2009q3 加到环境变量里面去。
    Linux开发环境搭建 三 (在Ubuntu上Android/Linux编译环境的准备)_第2张图片
    注意,toolchain实际是编译开发板image才用到,如果只在PC上编译玩玩的话,不安装也没有问题。


六、安装依赖包

编译Android需要用到的依赖包,特别注意如下命令中的”l” “1”的区别
sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib python-markdown libxml2-utils x11proto-core-dev libgl1-mesa-glx:i386 mingw32 xsltproc tofrodos zlib1g-dev:i386


七、gcc/g++降版本

通过gcc -v和g++ -v命令确认自己的gcc和g++版本。如果不是4.4版本的话,需要将gcc/g++版本降到4.4(通常都是降),不然编译Android 4.4.2会报错。关于如何操作,请自行百度。


至此,咱们在Ubuntu下准备Android/Linux的编译环境已经结束。是否心情小有激动,迫不及待地想编译试试看呢?下一篇我们将在Ubuntu下下载,编译,运行Android系统,敬请期待……


itxiebo
20160404

你可能感兴趣的:(Android,linux)