参考原文:http://blog.csdn.net/lincyang/article/details/42024565
今天公司拿到了Android5.1 源码,要我搭建环境编译(当然是有指导文档的)。
在指导文档中特别提到需要JDK7,于是我就去Oracle官网快速地下载了jdk-7u79-linux-x64.tar.gz 然后装上了,
结果在编译时出现了错误,找了FAE一问,Android5.1要求的 JDK7 是open JDK7,之前版本的 Android 源码要求的是 sun JDK7,
于是马上上网查 openJDK 与 sun JDK 是个什么鬼。
废话不多说,基本是按照上面链接博客操作了。
1,查看jdk信息
$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
可以看出是 sun JDK7
2,安装 open JDK7
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
3,查看jdk信息
$ java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.6) (7u79-2.5.6-0ubuntu1.14.04.1)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
可以看出是 open JDK7
4, 查看路径
$ dpkg -L openjdk-7-jdk
/.
/usr
/usr/lib
/usr/lib/jvm
/usr/lib/jvm/java-7-openjdk-amd64
5,切换Java版本
$sudo update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
无需配置。
奇怪了,之前的 sun JDK7 没有了。
参考链接中的博客,其中提到将 sun JDK7 添加 java 可选配置项,可能是需要添加了。
6,查看 sun JDK 安装路径
$echo $JAVA_HOME
/usr/local/jdk1.6.0_29
7,用update-alternatives工具来添加java可选配置项
$ sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.6.0_29/bin/java 700
$ sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.6.0_29/bin/javac 700
$ sudo update-alternatives --install /usr/bin/jar jar /usr/local/jdk1.6.0_29/bin/jar 700
8,切换Java版本
$ sudo update-alternatives --config java
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 自动模式
1 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 手动模式
2 /usr/local/jdk1.6.0_29/bin/java 700 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:
这里输入2,
9, $ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)