近期可能會有針對手機開發的項目,先調查了SymbianS60開發環境的搭建,搭這個環境還真不容易,訪問了N多個網站,看了N多個部落格,終於把環境搭建完成了,現在記錄一下:
一下內容部分轉載於:
http://blog.csdn.net/defonds/archive/2010/01/30/5272933.aspx
造輪子的內容我就不自己寫了……
背景:系統(WindowsXP)、JDK(jdk-6u13-windows-i586)、WTK(wtk2.5.2)、IDE(eclipse-jee-galileo-SR1-win32)、eclipseme 外掛程式(我使用的線上安裝方法:http://www.eclipseme.org/updates/)、混淆器(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 安裝成功。
步驟三、配置 Eclipse 下 SDK 的 J2ME 開發環境。
啟動eclipse,換個空的工作目錄,Windows -> Preferences -> J2ME ->DeviceManagement 點擊“Import...”選擇你安裝的 SDK 的根目錄,比如作者的是E:\tools\s60jmesdkv3fp1\sdk\S60_3rd_MIDP_SDK_FP1,點擊 Refresh,這時候S60Emulator 和 S60Device 就被 eclipse 識別了,點擊 Finish 對它們進行載入。這時候你的“DeviceManagement”下就多出來兩個新的選項。選中 S60Emulator,點擊 OK 完成環境配置。
步驟四、Debug 設定。
Window -> Preferences -> J2ME,Debug Server Time-out(ms) 設定為60000;Window -> Preferences -> Java -> Debug,取消對 Suspendexecution on uncaught exceptions 和 Suspend execution on compilationerrors 的選中;將 Debugger timeout(ms) 和 Launch timeout(ms) 分別設定為15000、20000。點擊 OK 儲存設定。
步驟五、開始在 SDK 模擬器下編程。
建立 J2ME 項目 HelloS60,只有一個 MIDlet,源碼如下:
package com.defonds.s60; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class HelloWorld extends MIDlet { Display display; public HelloWorld() { super(); display = Display.getDisplay(this); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { Form form = new Form("Hello S60!"); form.append("Hello World!"); display.setCurrent(form); } }
運行:
有的朋友可能會有“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”警告,如所示:
解決辦法是:換一個新的空的工作目錄,然後按照上述步驟一到步驟六操作一遍就可以了。
還有可能遇到這樣的問題:
failed to initialize session
解決的辦法是:
在XXX.jad檔案中添加一行:
MIDlet-1:[這和MIDlet-Name的屬性相同],[圖片檔案名稱],[主Midlet,包含全路徑]
如:
MIDlet-Jar-Size: 3558
MIDlet-Jar-URL: first.jar
MIDlet-Name: first Midlet Suite
MIDlet-Vendor: Midlet Suite Vendor
MIDlet-Version: 1.0.0
MicroEdition-Configuration: CLDC-1.1
MicroEdition-Profile: MIDP-2.0
MIDlet-1:first Midlet Suite,hb.jpg,test.First
如果你使用的JRE為1.6的話,最好修改一下模擬器的設定檔(預設不支援1.6):%SDKRoot%\bin\epoc32\tools\ecmt\config\config.properties
epdt.java.version.start=1.4.1,1.4.2,1.5,5.0
改為:
epdt.java.version.start=1.4.1,1.4.2,1.5,5.0,1.6
到這裡為止,你的Symbian S60平台開發環境算是配置完成了。