2016年7月6日 星期三

Android開發環境設定:變更JAVA 版本

在Android開發環境設定中,有時會遇到如下問題:

============================================
Checking build tools versions...

************************************************************
You are attempting to build with the incorrect version
of javac.

Your version is: javac 1.7.0_101.
The correct version is: 1.6.

Please follow the machine setup instructions at
https://source.android.com/source/download.html
************************************************************

build/core/main.mk:184: *** stop. Stop.

這問題是因為JAVA 版本與BSP不相容, 透過

Android開發環境設定:變更JAVA 版本


安裝相對應的版本即可.


在Linux可透過command查詢現在的版本:

$ java -version

java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

$ javac -version

javac 1.7.0_101


為了編譯Android ,就必須變更JAVA版號:(當然執行變更之前,要安裝不同版本的JAVA)

1.變更javac:

$ sudo update-alternatives --config javac

替代項目 javac(提供 /usr/bin/javac)有 3 個選擇。



選項 路徑 優先權 狀態

------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1071 自動模式

1 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac 1071 手動模式

2 /usr/lib/jvm/java-7-oracle/bin/javac 301 手動模式

3 /usr/local/jdk1.6.0_45/bin/javac 300 手動模式

按 [enter] 保留目前選項 [*],或輸入選項編號:3

update-alternatives: 以 /usr/local/jdk1.6.0_45/bin/javac 提供 手動模式 中的 /usr/bin/javac (javac)

2.變更java:

$ sudo update-alternatives --config java

替代項目 java(提供 /usr/bin/java)有 3 個選擇。

選項 路徑 優先權 狀態

------------------------------------------------------------
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/lib/jvm/java-7-oracle/jre/bin/java 301 手動模式

* 3 /usr/local/jdk1.6.0_45/bin/java 300 手動模式

按 [enter] 保留目前選項 [*],或輸入選項編號:3

3. 變更javadoc

$ sudo update-alternatives --config javadoc

替代項目 javadoc(提供 /usr/bin/javadoc)有 3 個選擇。

選項 路徑 優先權 狀態
------------------------------------------------------------
0 /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc 1071 自動模式

1 /usr/lib/jvm/java-7-openjdk-amd64/bin/javadoc 1071 手動模式

2 /usr/lib/jvm/java-7-oracle/bin/javadoc 301 手動模式

* 3 /usr/local/jdk1.6.0_45/bin/javadoc 300 手動模式

按 [enter] 保留目前選項 [*],或輸入選項編號:3
-----------------------------------------------------------------

在這個範例需要java jdk6所以必須選擇: 3

更改完就能正常編譯Android了