Ubuntu 12.04(64bit) Android 4.4编译环境搭载
这篇文章主要记录了我是如何搭建Android编译环境,以及搭建当中遇到的问题以及解决方法。搭建环境依照官网进行,整个搭建环境分为两步:
1. 安装JDK
2. 安装相对应的库以及软件
1、安装JDK
官网上给出的办法是使用apt进行jdk的安装
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner" $ sudo apt-get update $ sudo apt-get install sun-java6-jdk
但是我在按照这个方法进行安装是apt提示无法找到jdk安装包。 在更换了好几个source后都无法下载jdk。因此只能考虑手动安装。
1. 首先在Orecal官网下载JDK:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html
需要注意的是,现在官方网站上最新的版本的JDK7, 但是这个这个版本是不能用于Android的编译的,一定要去下载JDK6. 希望看到的朋友不要在走我的弯路。
2. 创建jvm文件夹
sudo mkdir /usr/lib/jvm
3. 安装JDK6
sudo cp jdk-6u45-linux-x64.bin /usr/lib/jvm/ sudo chmod +x jdk-6u45-linux-x64.bin sudo ./jdk-6u45-linux-x64.bin
4. 设置环境变量
sudo mv jdk1.6.0_45/ jdk6 export JAVA_HOME=/usr/lib/jvm/jdk6 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
5. 使能环境变量
source ~/.bashrc
6. 设置JDK6为系统默认JDK
因为在ubuntu中默认JDK可能是OpenJDK,这里我们设置JDK6为我们默认的JDK
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk6/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk6/bin/javac 300 sudo update-alternatives --config java
7. 至此JDK就安装好了,现在就可以在shell中查看Java版本
java -version
2、安装相对应的库以及软件
根据官网上的指示我们需要安装如下软件包和lib
$ 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
但是在安装过程中遇到了如下错误:
Errors were encountered while processing: libc6-dev:i386 E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法如下:
$ sudo apt-get install linux-libc-dev:i386 $ sudo apt-get install libc6-dev:i386
至此我们的编译环境就算搭建完毕了,至少在我的电脑上是这样的,下面我们就可一开始下载Android代码来编译了。
Refs:
http://source.android.com/source/initializing.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。