我目前的系统默认安装openJDK 1.7,但是编译android source code要求JDK版本为1.6
1. 下载JDK
直接通过搜索进入oracle官网下载对应的版本即可,我这里下载的是jdk-6u45-linux-x64.bin
2.安装jdk
直接将jdk-6u45-linux-x64.bin文件复制到安装目录然后在shell下执行即可
sudo cp jdk-6u45-linux-x64.bin /opt/ cd /opt/ sudo chmod a+x ./jdk-6u45-linux-x64.bin sudo ./jdk-6u45-linux-x64.bin
3.选择需要的jdk
同样按照步骤2,我在/opt目录安oracle jdk 1.7 ,但是目前系统中只有内置的openjdk 1.7可用,oracle jdk需要export才可以使用。可以通过update-alternatives命令来实现选择系统中的java版本
首先为java和javac安装多选链接
sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.6.0_45/bin/java 2 sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_25/bin/java 3 sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.6.0_45/bin/javac 2 sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_25/bin/javac 3
之后就可以很方便的通过update-alternatives命令配置使用哪个版本的jdk
sudo update-alternatives --config java sudo update-alternatives --config javac
按照提示选择对应的版本即可。
注意,最好对javah javap javadoc同时进行上述操作,不然可能在编译中出现奇怪问题,如http://blog.csdn.net/michaelpp/article/details/22184733,就是只切换了java和javac工具的版本,而没有切换javap工具的版本导致编译出错。
UPDATE:
上面的方法过于繁琐,需要逐个配置而且配置不全。最好的方法是使用ppa安装jdk做到安装时就可以实现设置alternative,并且后期可以一键切换。
openjdk我们可以通过apt-get安装,而oracle jdk可以通过如下ppa安装,installer会从oracle下载bin安装包并且自动配置java,以jdk8为例:
$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer
之后我们可以通过update-java-alternative方便的切换全局java环境,在我的电脑上可以看到安装了三个版本的java,当前使用的是openjdk7
$ sudo update-java-alternatives -l java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64 java-6-oracle 1052 /usr/lib/jvm/java-6-oracle java-7-oracle 1053 /usr/lib/jvm/java-7-oracle $ java -version java version "1.7.0_75" OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~precise1) OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
通过-s参数可以方便的切换到其它的java版本
$ sudo update-java-alternatives -s java-7-oracle $ java -version java version "1.7.0_76" Java(TM) SE Runtime Environment (build 1.7.0_76-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)