之前做過小小的嘗試,其實若安裝 OpenJDK,仍然是可以編譯 Android 2.3 的。
但是,若編譯的 Android 原始碼裡包含了 CTS 的部份,就會出現一堆編譯失敗的訊息。於是,我終究試著在 OpenSUSE 12.1 裡自行安裝 Sun JDK 6。
結果是,在 OpenSUSE 12.1 的套件庫裡找不到 Sun JDK 6,爬文之後似乎自己下載是最簡單的了。後來參考了這篇文章,我下載了 Sun JDK 1.6.0_31 (64bit) 的 jdk-6u31-linux-x64.bin 這個檔案。將它解開之後,得到一個 jdk1.6.0_31 目錄,並將它搬移到 /usr/lib64/jvm 目錄下。
接著編輯一個 java-alt.sh 檔案,內容如下:
#!/bin/bash ####Set your variables here#### JAVADIR="jdk1.6.0_31" SYSLIB="lib64" PRIORITY="18000" ######## if [ $SYSLIB == "lib64" ] ; then PLUGINDIR="amd64" else PLUGINDIR="i386" fi update-alternatives --auto java update-alternatives --install /usr/bin/java java /usr/$SYSLIB/jvm/$JAVADIR/bin/java $PRIORITY \ --slave /usr/$SYSLIB/jvm/jre jre /usr/$SYSLIB/jvm/$JAVADIR \ --slave /usr/$SYSLIB/jvm-exports/jre jre_exports /usr/$SYSLIB/jvm/$JAVADIR \ --slave /usr/bin/keytool keytool /usr/$SYSLIB/jvm/$JAVADIR/bin/keytool \ --slave /usr/bin/orbd orbd /usr/$SYSLIB/jvm/$JAVADIR/bin/orbd \ --slave /usr/bin/policytool policytool /usr/$SYSLIB/jvm/$JAVADIR/bin/policytool \ --slave /usr/bin/rmid rmid /usr/$SYSLIB/jvm/$JAVADIR/bin/rmid \ --slave /usr/bin/rmiregistry rmiregistry /usr/$SYSLIB/jvm/$JAVADIR/bin/rmiregistry \ --slave /usr/bin/servertool servertool /usr/$SYSLIB/jvm/$JAVADIR/bin/servertool \ --slave /usr/bin/tnameserv tnameserv /usr/$SYSLIB/jvm/$JAVADIR/bin/tnameserv \ --slave /usr/share/man/man1/java.1.gz java.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/java.1 \ --slave /usr/share/man/man1/keytool.1.gz keytool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/keytool.1 \ --slave /usr/share/man/man1/orbd.1.gz orbd.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/orbd.1 \ --slave /usr/share/man/man1/policytool.1.gz policytool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/policytool.1 \ --slave /usr/share/man/man1/rmid.1.gz rmid.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/rmid.1 \ --slave /usr/share/man/man1/rmiregistry.1.gz rmiregistry.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/rmiregistry.1 \ --slave /usr/share/man/man1/servertool.1.gz servertool.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/servertool.1 \ --slave /usr/share/man/man1/tnameserv.1.gz tnameserv.1.gz /usr/$SYSLIB/jvm/$JAVADIR/man/man1/tnameserv.1 update-alternatives --auto javaplugin update-alternatives --install /usr/$SYSLIB/browser-plugins/javaplugin.so \ javaplugin /usr/$SYSLIB/jvm/$JAVADIR/jre/lib/$PLUGINDIR/libnpjp2.so $PRIORITY \ --slave /usr/bin/javaws javaws /usr/$SYSLIB/jvm/$JAVADIR/bin/javaws update-alternatives --auto jdk_1.6.0 update-alternatives --install /usr/$SYSLIB/jvm/jdk-1.6.0 jdk_1.6.0 /usr/$SYSLIB/jvm/$JAVADIR $PRIORITY
然後,以管理者身份執行該腳本就可以將系統的 Java JDK 安裝成 Sun JDK 6 了。
沒有留言:
張貼留言