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了
如果上述情形無法解決問題的話,
另外一個比較完整的步驟如下:
chmod u+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
sudo mv jdk1.6.0_45 /usr/lib/jvm/
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.6.0_45/bin/jar 60
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.6.0_45/bin/java 60
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.6.0_45/bin/javac 60
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.6.0_45/bin/javap 60
sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk1.6.0_45/bin/javadoc 60
sudo update-alternatives --config jar
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javap
sudo update-alternatives --config javadoc
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/jre/bin
export CLASSPATH=/usr/lib/jvm/jdk1.6.0_45/lib:/usr/lib/jvm/jdk1.6.0_45/jre/lib:$CLASSPATH
最後執行
source ~/.bashrc
即可
================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================