2010年10月22日 星期五

[Tips] 在Ubuntu使用sun-java-sdk

/** update @ 2011-09-22 **/
由於jaunty archive已經找不到sun的JDK package,所以現在只能去oracle官網下載:
* jdk-1.5
* jdk-6


一開始在寫Android的應用程式時,都是使用openjdk做為java sdk,
可是總是有說不出的怪,偶爾也會踢到不知名的鐵板,

因此換掉openjdk就是必要的動作啦...

新增repository
// jdk-1.5
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jaunty multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ jaunty-updates multiverse"

// jdk-1.6
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

更新repository內容
$ sudo apt-get update

安裝sun-java-sdk
// jdk-1.5
$ sudo apt-get install sun-java5-jdk sun-java5-plugin

// jdk-1.6
$ sudo apt-get install sun-java6-jdk sun-java6-plugin

更新jre/sdk
// 手動更改
$ update-alternatives --config java
$ update-alternatives --config javac

// 指定更改為jdk-1.6
$ sudo update-java-alternatives -s java-6-sun


那到底是要選擇哪個版本呢? It depends...

比如說在編譯Android source code時,如果使用jdk-1.6的版本,就會遇到以下錯誤訊息,改成jdk-1.5就沒問題了
Checking build tools versions...
********************************************************
You are attempting to build with the incorrect version
of java.

Your version is: java version "1.6.0_22".
The correct version is: 1.5.

Please follow the machine setup instructions at
http://source.android.com/download
********************************************************
build/core/main.mk:117: *** stop. Stop.

但是如果要使用Android的Draw 9-patch工具時,如果使用jdk-1.5的版本,就會遇到以下錯誤訊息,改成jdk-1.6就沒問題了
/usr/share/themes/Ambiance/gtk-2.0/gtkrc:71: Failed to parse property value " GTK_SHADOW_NONE " for `GtkToolbar::shadow-type'
/usr/share/themes/Ambiance/gtk-2.0/gtkrc:72: Failed to parse property value " GTK_SHADOW_NONE " for `GtkMenuBar::shadow-type'
/usr/share/themes/Ambiance/gtk-2.0/gtkrc:75: error: lexical error or unexpected token, expected valid token

reference:
* Oracle Sun JDK vs OpenJDK
* How to install Sun Java 1.5 on Ubuntu 10.04
* JAVA音樂播放器YOYOPlayer1.1發佈

沒有留言: