测试环境:Ubuntu 14.4
因要在该环境下编译安卓系统,就这样陷入了JDK的安装与卸载的圈中。编译安卓2.2需要JDK5,编译安卓2.3后需要安装JDK6,开始理解的是只要JDK6以后版本都可以,一直使用apt-get命令都无效,无论敲sudo apt-get install sun-java8-jdk还是sudo apt-getinstall JDK6一直报如下错误:
Readingpackage lists... Done
Buildingdependency tree
Readingstate information... Done
E: Unable to locate packagesun-java8-jdk
该错误也不知道是什么原因,搜了下也没解决,可能是上面的两个命令有问题,软件库中可能没有,但报的错是不能下载包,无奈,只能寻找其他方式了,期间还下过jdkd的rpm包进行安装,报了一连串的依赖包,简直了……只能继续寻找apt-get的安装方式,终于找到一条命令apt-get install openjdk-7-sdk,装好了,而且还自动配置好环境变量,JDK1.7的最新版本,兴致勃勃的去make安卓源代码了,报错了,它要的是java se 1.6,而现在喂给它的是1.7,继续罢工了。这时就需要卸载该版本了,不然新安装的其他版本可能会存在命令寻址错误的情况,卸载方式找到了网上的一博客(http://my.oschina.net/lxrm/blog/110638)的讲解,成功卸载了。
open-JDK卸载详细步骤:
首先,检查是安装的哪个 OpenJDK包。
# dpkg --list | grep -i jdk
移除 openjdk包:
# apt-get purge openjdk*
卸载 OpenJDK 相关包:
# apt-get purge icedtea-* openjdk-*
检查所有 OpenJDK包是否都已卸载完毕:
# dpkg --list | grep -i jdk
完毕。
继续寻找安装方式,还是在官网找到了合适的,只是要注册才能下载。
特别好的是官网提供bin文件的jdk安装包下载的,将下下来的bin包拷贝到linux的某个文件夹下(文件名jdk-6u45-linux-x64.bin),只需执行./jdk-6u45-linux-x64.bin即可,它便会在当前目录下生成jdk1.6.0_45文件夹,里面包含了JDK的所有东西,只需设置好环境变量就可以了,如果要成为当前用户的JDK就进入当前用户的配置文件里增加下面的环境变量(执行cd /home/当前用户名,再执行vi .bashrc),若要成为所有用户的JDK,则修改etc下的配置文件(执行 vi /etc/profile),都在最后增加下面几行:(/usr/java/jdk1.6.0_45是我存放JDK的目录)
export JAVA_HOME=/usr/java/jdk1.6.0_45
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
网上说:一定要在CLASSPATH路径中加入$CLASSPATH:之前我因为没有加入这个东东,在解释执行class文件时总是报错。
按Esc输入:wq保存退出。接下来可以在命令行中执行java和javac了,同时java –version可得如下:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM(build 20.45-b01, mixed mode)
终于搞定了,如果要卸载这个JDK就很简单了,只需删除对应的环境变量和存放该JDK的文件夹即可。