Android L之后推薦使用JDK7編譯程序,這是自然發展規律,就像是4年前編譯Android 1.6需要使用JDK5一樣。
多版本JDK是可以共存的,只需要使用update-alternatives工具就可以隨時將它們切換。下面描述安裝openjdk和oracle jdk(對不住了sun)以及切換版本的過程。
#### 一、安裝openjdk7
~~~
$?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??
~~~
#### 二、切換java版本
~~~
$?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)??
~~~
#### 三、安裝Oracle jdk
使用Android Studio做開發,啟動IDE就提示:
OpenJDK shows intermittent performance and UI issues. We recommend using the Oracle JRE/JDK.
看來還是要安裝Oracle的JDK了,因為ubuntu軟件源中沒有此JDK,所以不能像安裝openjdk一樣使用apt-get工具。
那么我們還是要去[官網下載jdk7](http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)。
按照以往的慣例,我將這些軟件放在/opt目錄下。將JDK解壓到新建目錄jdk下。
用update-alternatives工具來添加java可選配置項(這是一個dpkg的一個實用工具)。
~~~
$?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是優先級數值,我這里隨便使用了一個數。
查看一下我們的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??
~~~
驗證是否切換成功:
~~~
$?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)??
~~~
同樣的,當我們需要切換到低版本時選擇2或者安裝oracle jdk6并將其納入管理。這樣就可以不用通過手動修改環境的方式來靈活切換JDK的版本了。
- 前言
- 一:文本與布局
- 二:組合控件
- 三:性能測試類
- 四:語音識別
- 五:讀取Excel
- 六:PreferenceActivity使用詳解
- 七:按鈕控制ViewPager的左右翻頁
- 八:Ubuntu下切換JDK版本
- 九:最新Android開發環境(Eclipse+ADT+Android 5.0)
- 十:獲得屏幕物理尺寸、密度及分辨率
- 十一:Android Studio和Gradle
- 十二:Android Studio導入第三方類庫、jar包和so庫
- 十三:APK簽名
- 十四:混淆與反編譯
- 十五:多分辨率適配常用目錄
- 十六:getprop與dumpsys命令
- 十七:Linux下的模擬器硬件加速
- 十八:adb取出安裝在手機中的apk
- 十九:android studio導出jar包(Module)并獲得手機信息
- 二十:兩個開源的圖表/報表控件
- 二十一:Android原型設計工具探索
- 二十二:Android 5.1 SDK下載與配置
- 二十三:Android Studio的NDK開發
- 二十四:橫豎屏切換
- 二十五:模擬器如何重啟?試試Genymotion!
- 二十六:persistableMode與Activity的持久化
- 二十七:Maven編譯開源二維碼掃描項目zxing