Android2.3源码学习02 -- 环境搭建

编译环境

AOSP源码只能在LinuxmacOS操作系统中编译,Android2.3及更高版本只支持64位环境。这里学习在Ubuntu 12.04LTS操作系统中搭建编译环境。

JDK

Android2.3源码编译需要Java JDK 6,详细的对应关系参看官方列表

目前JDK6已经无法通过官方源或PPA直接下载安装,需要手动从官网下载,且需要注册Oracle账户才能下载。下载地址:Java SE 6 Downloads

进入下载页面,勾选Accept License Agreement单选框,选择Linux版本安装包,点击下载,下载页面重定向到Oracle登录页面,注册新账户或使用已有的账户登录后即可下载JDK6安装包。

下载完成后,安装:

$ chmod a+x jdk-6u45-linux-x64.bin
$ ./jdk-6u45-linux-x64.bin
# 如果/usr/lib/jvm目录不存在,创建目录
$ sudo mkdir -p /usr/lib/jvm
$ sudo mv jdk1.6.0_45 /usr/lib/jvm/java-6-oracle

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-oracle/bin/java 1
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-6-oracle/bin/javac 1

选择默认java版本:

$ sudo update-alternatives --set java /usr/lib/jvm/java-6-oracle/bin/java
update-alternatives: using /usr/lib/jvm/java-6-oracle/bin/java to provide /usr/bin/java (java) in manual mode.

$ sudo update-alternatives --set javac /usr/lib/jvm/java-6-oracle/bin/javac
update-alternatives: using /usr/lib/jvm/java-6-oracle/bin/javac to provide /usr/bin/javac (javac) in manual mode.

gcc4.4、g++4.4

Ubuntu12.04LTS自带的gcc版本为4.6.3,需要安装4.4版本的gccg++

$ sudo apt-get install gcc-4.4 g++-4.4 gcc-4.4-multilib g++-4.4-multilib

切换默认版本:

$ sudo update-alternatives --remove-all gcc
$ sudo update-alternatives --remove-all g++
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 20
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 20

$ gcc --version
gcc (Ubuntu/Linaro 4.4.7-1ubuntu2) 4.4.7
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ g++ --version
g++ (Ubuntu/Linaro 4.4.7-1ubuntu2) 4.4.7
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

安装其他依赖

目前官方最新依赖包列表如下:

$ 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

其中,libgl1-mesa-glx:i386在我本地环境中无法安装,从列表中移除,安装其他包,目前在我本地没发现问题,可以正常编译使用。

参考阅读

要求

搭建编译环境

Ubuntu安装java和使用update-java-alternatives进行切换

How to install Java 6 on ubuntu 12.04 / 12.10



—  我的个人空间 |   —