前言:
android开发环境的配置是一个经常出现在博客的话题,这里重复别人的内容的同时也是提醒自己记住一些基础的知识。
基本上每一个成熟的平台的源码包都会附带一个编译环境配置的文档,内容大同小异,这里仅就主要的内容描述如下:
正文:
1. 安装linux操作系统,建议安装 ubuntu LTS版本,地址:http://www.ubuntu.com.cn/download 。
2. 需要的编译器:Python;GNU Make ;sun JDK;Git;建议使用较新的版本,其中:Python,GNU Make 在Ubuntn系统中已经
存在。
3. 安装sunJDK:
Ubuntu 10.04 默认安装了 openJDK, 等 Java 环境。不过如果要构建一个高效可用的 Java 开发环境,需要安装 SUN Hotspot JRE 也就是 SUN 公司(现在的 Oracle 公司)的 JDK。
在ubuntu的终端中输入以下内容,安装sunJDK 6:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
$sudo gedit /etc/environment
添加如下变量:
JAVAHOME=/usr/lib/sunJVM/JDK/jdk1.6.0_29
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/sunJVM/JDK/jdk1.6.0_29/bin"
CLASSPATH=.:/usr/lib/sunJVM/JDK/jdk1.6.0_29/lib
执行下面命令来生效:
$sudo source /etc/environment
设置默认的jdk:
$sudo update-alternatives --install /usr/bin/java java /usr/lib/sunJVM/JDK/jdk1.6.0_29/bin/java 400
(400 是权重,可以设置为更大值)
$sudo update-alternatives --install /usr/bin/javac javac /usr/lib/sunJVM/JDK/jdk1.6.0_29/bin/javac 400
接着输入:
$sudo update-alternatives --config java,选择对应的 jdk。
验证:
$java -version
4. 安装必要的库:
x86 - 32 bit,输入:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltproc
x64 - 64 bit,输入:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
On Ubuntu 10.10:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
On Ubuntu 11.10:
$ sudo apt-get install libx11-dev:i386
5. 尝试编译:
1) 编译内核:
进入内核目录,输入进行内核配置:
$make xx_xx_config & make menuconfig
输入进行内核编译(不同的平台存在差异):
$make kernel.img
生成kernel.img
2) 编译android:
在android根目录输入:
$source build/envsetup.sh
$lunch
选择配置项目
$make