本人做MTK平台驱动工作快两年了,最近从之前的4.2和4.4要切换到L版本了,相应的编译环境需要修改。因为MTK的建议是4.4之前的版本用Oracle JDK1.6.045和GCC4.4的版本,而L要用OPEN JDK 1.7和GCC4.6,这就带来了同一机器上不能编译不同版本安卓工程的麻烦,本文的目的是通过切换环境的脚本实现同一机器可以编译不能版本安卓工程的目的。
首先安装配置好Ubuntu 12.04 x64,然后
1.Update apt information
$ sudo su -
[sudo] password for android:******
root@android-machine:~$ apt-get update
2.Install google recommended packages
$ apt-get install -y 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 \
g++-multilib mingw32 tofrodos libgl1-mesa-dev \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
3.Install JDKandGCC
$ sudo apt-get -y install openjdk-7-jdk
$ update-java-alternatives -s java-1.7.0-openjdk-amd64
$ mkdir /opt/java
$ cd /opt/java/
$ chmod a+x jdk-6u45-linux-x64.bin
$ ./jdk-6u45-linux-x64.bin
#!/bin/bash
sudo update-alternatives --install /usr/bin/javah javah /opt/java/jdk1.6.0_45/bin/javah 255
sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.6.0_45/bin/javac 255
sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_45/bin/java 255
sudo update-alternatives --install /usr/bin/jar jar /opt/java/jdk1.6.0_45/bin/jar 255
sudo update-alternatives --install /usr/bin/javap javap /opt/java/jdk1.6.0_45/bin/javap 255
sudo update-alternatives --install /usr/bin/jps jps /opt/java/jdk1.6.0_45/bin/jps 255
sudo update-alternatives --install /usr/bin/jconsole jconsole /opt/java/jdk1.6.0_45/bin/jconsole 255
sudo update-alternatives --install /usr/bin/javadoc javadoc /opt/java/jdk1.6.0_45/bin/javadoc 255
sudo update-alternatives --install /usr/bin/appletviewer appletviewer /opt/java/jdk1.6.0_45/bin/appletviewer 255
sudo update-alternatives --install /usr/bin/apt apt /opt/java/jdk1.6.0_45/bin/apt 255
sudo update-alternatives --install /usr/bin/extcheck extcheck /opt/java/jdk1.6.0_45/bin/extcheck 255
sudo update-alternatives --install /usr/bin/idlj idlj /opt/java/jdk1.6.0_45/bin/idlj 255
sudo update-alternatives --install /usr/bin/jarsigner jarsigner /opt/java/jdk1.6.0_45/bin/jarsigner 255
sudo update-alternatives --install /usr/bin/jdb jdb /opt/java/jdk1.6.0_45/bin/jdb 255
sudo update-alternatives --install /usr/bin/javaws javaws /opt/java/jdk1.6.0_45/bin/javaws 255
sudo update-alternatives --install /usr/bin/jhat jhat /opt/java/jdk1.6.0_45/bin/jhat 255
sudo update-alternatives --install /usr/bin/jinfo jinfo /opt/java/jdk1.6.0_45/bin/jinfo 255
sudo update-alternatives --install /usr/bin/jmap jmap /opt/java/jdk1.6.0_45/bin/jmap 255
sudo update-alternatives --install /usr/bin/jrunscript jrunscript /opt/java/jdk1.6.0_45/bin/jrunscript 255
sudo update-alternatives --install /usr/bin/jsadebugd jsadebugd /opt/java/jdk1.6.0_45/bin/jsadebugd 255
sudo update-alternatives --install /usr/bin/jstack jstack /opt/java/jdk1.6.0_45/bin/jstack 255
sudo update-alternatives --install /usr/bin/jstat jstat /opt/java/jdk1.6.0_45/bin/jstat 255
sudo update-alternatives --install /usr/bin/jstatd jstatd /opt/java/jdk1.6.0_45/bin/jstatd 255
sudo update-alternatives --install /usr/bin/keytool keytool /opt/java/jdk1.6.0_45/bin/keytool 255
sudo update-alternatives --install /usr/bin/native2ascii native2ascii /opt/java/jdk1.6.0_45/bin/native2ascii 255
sudo update-alternatives --install /usr/bin/orbd orbd /opt/java/jdk1.6.0_45/bin/orbd 255
sudo update-alternatives --install /usr/bin/pack200 pack200 /opt/java/jdk1.6.0_45/bin/pack200 255
sudo update-alternatives --install /usr/bin/policytool policytool /opt/java/jdk1.6.0_45/bin/policytool 255
sudo update-alternatives --install /usr/bin/rmic rmic /opt/java/jdk1.6.0_45/bin/rmic 255
sudo update-alternatives --install /usr/bin/rmid rmid /opt/java/jdk1.6.0_45/bin/rmid 255
sudo update-alternatives --install /usr/bin/rmiregistry rmiregistry /opt/java/jdk1.6.0_45/bin/rmiregistry 255
sudo update-alternatives --install /usr/bin/schemagen schemagen /opt/java/jdk1.6.0_45/bin/schemagen 255
sudo update-alternatives --install /usr/bin/serialver serialver /opt/java/jdk1.6.0_45/bin/serialver 255
sudo update-alternatives --install /usr/bin/servertool servertool /opt/java/jdk1.6.0_45/bin/servertool 255
sudo update-alternatives --install /usr/bin/tnameserv tnameserv /opt/java/jdk1.6.0_45/bin/tnameserv 255
sudo update-alternatives --install /usr/bin/unpack200 unpack200 /opt/java/jdk1.6.0_45/bin/unpack200 255
sudo update-alternatives --install /usr/bin/wsgen wsgen /opt/java/jdk1.6.0_45/bin/wsgen 255
sudo update-alternatives --install /usr/bin/wsimport wsimport /opt/java/jdk1.6.0_45/bin/wsimport 255
sudo update-alternatives --install /usr/bin/xjc xjc /opt/java/jdk1.6.0_45/bin/xjc 255
sudo up