Android L 之后推薦使用 JDK7編譯程序,這是自然發(fā)展規(guī)律,就像是4年前編譯 Android 1.6需要使用 JDK5一樣。
多版本 JDK 是可以共存的,只需要使用 update-alternatives 工具就可以隨時(shí)將它們切換。下面描述安裝 openjdk 和 oracle jdk(對不住了 sun)以及切換版本的過程。
$ sudo apt-get update
$ sudo apt-get install openjdk-7-jdk
安裝完成后找到其安裝路徑:
$ dpkg -L openjdk-7-jdk
/.
/usr
/usr/lib
/usr/lib/jvm
/usr/lib/jvm/java-7-openjdk-amd64
$ ls /usr/lib/jvm/java-7-openjdk-amd64/
ASSEMBLY_EXCEPTION bin docs include jre lib man src.zip THIRD_PARTY_README
$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
---------------------------------------------------------- --
* 0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk-amd64/jre/ bin/java 1061 manual mode
2 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java to provide /usr/bin/java (java) in manual mode.
$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-0ubuntu0.12.04.1)
使用 Android Studio 做開發(fā),啟動(dòng) IDE 就提示:
OpenJDK shows intermittent performance and UI issues. We recommend using the Oracle JRE/JDK.
看來還是要安裝 Oracle 的 JDK 了,因?yàn)?ubuntu 軟件源中沒有此 JDK,所以不能像安裝 openjdk 一樣使用 apt-get 工具。
那么我們還是要去官網(wǎng)下載 jdk7 。
按照以往的慣例,我將這些軟件放在 /opt 目錄下。將 JDK 解壓到新建目錄 jdk 下。
用 update-alternatives 工具來添加 Java 可選配置項(xiàng)(這是一個(gè) dpkg 的一個(gè)實(shí)用工具)。
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.7.0_71/bin/java 700
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.7.0_71/bin/javac 700
$ sudo update-alternatives --install /usr/bin/jar jar /opt/jdk/jdk1.7.0_71/bin/jar 700
700是優(yōu)先級數(shù)值,我這里隨便使用了一個(gè)數(shù)。 查看一下我們的 config:
$ sudo update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 auto mode
1 /opt/jdk/jdk1.7.0_71/bin/java 700 manual mode
2 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
* 3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1051 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /opt/jdk/jdk1.7.0_71/bin/java to provide /usr/bin/java (java) in manual mode
驗(yàn)證是否切換成功:
$ java -version
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)
同樣的,當(dāng)我們需要切換到低版本時(shí)選擇2或者安裝 oracle jdk6并將其納入管理。這樣就可以不用通過手動(dòng)修改環(huán)境的方式來靈活切換 JDK 的版本了。