Windows 下安裝 S60_3rd_sdk_fp1,並在 eclipse 上搭建 Nokia 的 J2ME 開發環境
原始碼下載
最近做 S60 移動 Java 開發,搭建 Nokia 官方提供的 SDK 環境,發現組建過程中問題還真不少。作者總結了一下正確搭建 Nokia 的 J2ME 的開發環境全過程和可能遇到的相關問題,希望可以方便更多的朋友。
背景:系統(WindowsXP)、JDK(jdk-6u13-windows-i586)、WTK(wtk2.5.2)、IDE(eclipse-jee-galileo-SR1-win32)、eclipseme 外掛程式(site-1.7.9)、混淆器(Proguard4.2)。
關於 WTK 安裝配置、eclipseme 外掛程式安裝、混淆器的安裝等這裡就不再贅述,詳細過程可以去參考作者以前的相關部落格。這裡只講述一下 S60 SDK 的安裝和 eclipse 相關環境搭建。
步驟一、去 Nokia 官方下載 S60 第三版 FP1 的 SDK 安裝包。
nS60_jme_sdk_3rd_e_FP1.zip,大小 246 MB。下載頁面:http://www.forum.nokia.com/info/sw.nokia.com/id/6e772b17-604b-4081-999c-31f1f0dc2dbb/S60_Platform_SDKs_for_Symbian_OS_for_Java.html,選擇“3rd Edition,FP 1(240MB)”進行下載。
步驟二、安裝 Nokia S60 第三版 SDK。
解壓縮 nS60_jme_sdk_3rd_e_FP1.zip。雙擊運行解壓縮後的 setup.exe 安裝檔案。安裝結束後,開始 -> 所有程式 -> S60 Developer Tools -> 3rd Edition FP1 SDK -> MIDP -> 點擊運行 Emulator,Nokia 模擬器運行圖如下,證明你的 SDK 安裝成功。
步驟三、下載安裝並配置 MTJ。
MTJ(Mobile Tools for Java)可以對諾基亞的移動開發進行建立、測試和打包。最新版本 mtj1.0.1 :http://www.eclipse.org/downloads/download.php?file=/dsdp/mtj/downloads/drops/R-1.0.1-200909181641/dsdp-mtj-runtime-1.0.1.zip。大小 8.45 MB(作者也上傳了一份 dsdp-mtj-runtime-1.0.1.zip 到 Csdn 資源)。將下載後的 dsdp-mtj-runtime-1.0.1.zip 解壓縮到 eclipse 的安裝根目錄下。
步驟四、配置 Eclipse 下 SDK 的 J2ME 開發環境。
啟動 eclipse,換個空的工作目錄,Windows -> Preferences -> J2ME -> DeviceManagement 點擊“Import...”選擇你安裝的 SDK 的根目錄,比如作者的是 E:/tools/s60jmesdkv3fp1/sdk/S60_3rd_MIDP_SDK_FP1,點擊 Refresh,這時候 S60Emulator 和 S60Device 就被 eclipse 識別了,點擊 Finish 對它們進行載入。這時候你的“Device Management”下就多出來兩個新的選項。選中 S60Emulator,點擊 OK 完成環境配置。
步驟五、Debug 設定。
Window -> Preferences -> J2ME,Debug Server Time-out(ms) 設定為 60000;Window -> Preferences -> Java -> Debug,取消對 Suspend execution on uncaught exceptions 和 Suspend execution on compilation errors 的選中;將 Debugger timeout(ms) 和 Launch timeout(ms) 分別設定為 15000、20000。點擊 OK 儲存設定。
步驟六、開始在 SDK 模擬器下編程。
建立 J2ME 項目 HelloS60,只有一個 MIDlet,源碼如下:
package com.defonds.s60;</p><p>import javax.microedition.lcdui.Display;<br />import javax.microedition.lcdui.Form;<br />import javax.microedition.midlet.MIDlet;<br />import javax.microedition.midlet.MIDletStateChangeException;<br />public class HelloWorld extends MIDlet {<br />Display display;<br />public HelloWorld() {<br />super();<br />display = Display.getDisplay(this);<br />}<br />protected void destroyApp(boolean arg0) throws MIDletStateChangeException {<br />}<br />protected void pauseApp() {<br />}<br />protected void startApp() throws MIDletStateChangeException {<br />Form form = new Form("Hello S60!");<br />form.append("Hello World!");<br />display.setCurrent(form);<br />}<br />}
運行:
有的朋友可能會有“Jar file could not be initialized”警告,如所示:
解決的辦法是:Window -> Preferences -> J2ME -> Device Management,選擇 S60 的 emulator 後選 edit ,在 Edit S60Emulator Definition 中的 Basic 頁項中將 [%classpath%|-classpath "%classpath%"] 刪除掉就可以了。注意刪掉後,eclipse 一定要重啟,不然還是出那個警告。
有時候也有“Failed to initialize session”警告,如所示:
解決辦法是:換一個新的空的工作目錄,然後按照上述步驟一到步驟六操作一遍就可以了。
如有任何問題,請直接與作者交流,MSN:defonds@hotmail.com。