| 版本 | 支援規格 | 關鍵特性 |
|---|---|---|
| 1.0.4 | MIDP 1.0 / CLDC 1.0 | 基礎開發 |
| 2.0 | MIDP 2.0 / CLDC 1.0 | MIDP 2.0 新 API |
| 2.1 | MIDP 1.0/2.0, CLDC 1.0/1.1, WMA 1.1, MMAPI 1.1 | 多配置切換、自定義配置 |
| 2.2 (推薦) | MIDP 2.0, CLDC 1.1, WMA 2.0, MMAPI 1.1, JSR 172/75/82/184 | Web Services, File/PIM, Bluetooth, 3D, 完整 JTWI |
JAVA_HOME。WTK_ROOT/ ├── apps/ # 專案原始碼與資源 (每專案一子目錄) │ └── MyProject/ │ ├── src/ # Java 源檔 │ ├── res/ # 圖片、音訊等資源 │ └── lib/ # 專案依賴 jar ├── bin/ # 開發工具執行檔 ├── docs/ # API 文件、開發指南 ├── lib/ # 系統類庫 │ ├── midpapi20.jar │ ├── cldcapi11.jar │ ├── wma20.jar, wma11.jar │ ├── mmapi.jar, jsr172.jar, jsr75.jar, jsr82.jar, jsr184.jar ├── wtklib/ # 模擬器皮膚、核心程式 └── sessions/ # 效能分析資料
KToolbar (WTK 主介面)。apps/專案名/src/(套件結構對應目錄)。apps/專案名/res/(代碼中用 /res/xxx.png 訪問)。apps/專案名/lib/(建構時自動加入 classpath)。KToolbar → Project → Package → Create Package → 輸出至 apps/專案名/bin/:
專案名.jar:類檔 + 資源 + Manifest專案名.jad:描述檔(含 MIDlet-Jar-URL、MIDlet-Jar-Size 等)lib/proguard.jar。WTK_ROOT/bin/。效果:類/方法/欄位重命名為 a/b/c...,JAR 體積通常縮減 30%-50%,並提高反編譯難度。
Edit → Preferences → Monitoring 啟用:
| 監控項 | 用途 |
|---|---|
| Memory Monitor | 即時顯示堆記憶體分配/釋放、GC 次數、峰值/均值,定位記憶體洩漏 |
| Network Monitor | 記錄所有 HTTP/Socket 連線、請求/回應大小、耗時、狀態碼 |
| Heap Size 設定 | 模擬目標手機堆限制 (如 210KB/1MB),測試 OOM 邊界 |
| Security Domain | 模擬簽名權限 (Untrusted/Trusted/Manufacturer),測試受限 API |
| Bluetooth/OBEX 模擬 | 本機雙模擬器配對測試 JSR 82 功能 |
System.gc() 濫用:J2ME GC 非決定性,依賴它釋放資源不可靠。/res/xxx 絕對路徑,相對路徑在打包後常失效。MIDlet-Jar-Size,否則安裝失敗。preverify 僅在整合第三方 class 時需要。