最近在编译Android的SDK时遇到高版本JDK1.7向低版本JDK1.6切换的问题,几经周折最终实现了两个版本之间的切换,因而记录下切换的过程,希望于己于人有所帮助。
环境:
安装路径: 默认为JDK1.7版本
JDK1.6安装在 /opt/java/jdk1.6.0_45路径下
JDK1.7安装在 /usr//usr/lib/jvm/java-1.7.0-openjdk-amd64路径下
处理尝试:
1.尝试切换JDK相关的全局变量(JAVA_HOME等):虽然路径全部切换至JDK1.6版本所在路径,但编译过程中当检测java -version时依然为JDK1.7版本时,无法继续编译下去,用户使用java -version查看时也是JDK1.7版本。
2.使用sudo update-alternatives --config java查询和配置时,只能看到JDK1.7对应的java工具,并不能发现JDK1.6的工具。
3.使用如下指令增加JDK1.6工具集中的java, javac, jar, javah, javap, javadoc的选项(其中1068为优先级,数值越大优先级越高)。
sudo update-alternatives --install /usr/bin/java java /opt/java/jdk1.6.0_45/bin/java 1068
sudo update-alternatives --install /usr/bin/javac javac /opt/java/jdk1.6.0_45/bin/javac 1068
sudo update-alternatives --install /usr/bin/jar jar /opt/java/jdk1.6.0_45/bin/jar 1068
sudo update-alternatives --install /usr/bin/javah javah /opt/java/jdk1.6.0_45/bin/javah 1068
sudo update-alternatives --install /usr/bin/javap javap /opt/java/jdk1.6.0_45/bin/javap 1068
sudo update-alternatives --install /usr/bin/javadoc javadoc /opt/java/jdk1.6.0_45/bin/javadoc 1068
4.再次使用sudo update-alternatives --config java查询和配置,此时可以看到增加的JDK1.6的工具选项。
切换:
1.切换JDK的相关环境变量,一般Android SDK编译环境中有相关脚本执行后会自动设置好。eg:source build/envsetup.sh 即可。
2.选择JDK相关工具对应的版本。eg:sudo update-alternatives --config java 然后选择对应版本的编号。
参考博客:http://blog.csdn.net/maixia24/article/details/11707289