前奏

有時,我們在模擬器上體驗 JAR 遊戲,難免會覺得玻璃觸摸之貧瘠。
這時,你會不會想起過去使用 Nokia 的搓按鍵的『嘎嘣脆』爽感呢?
歷經求仙問道,翻新踩坑,最終你獲得了某台性能優秀的二手 S60V3 FP2 裝置。
在運行 JAR 檔的過程中,你卻發現了各種異常情況?


在開始前,您必須掌握以下技巧:

  • 基本的檔案編輯能力
  • 基本理解檔案路徑的概念
  • 使用壓縮工具 解包&打包 JAR

在開始前,您必須確認以下問題:

  • 使用最適合 JAR 運行的 S60V3 FP2 系統
  • 裝置的 性能&兼容 匹配所下載的 JAR 檔

如果確認無誤,那麽便開始正題。


JAR 檔無效(JAR 文件无效)

打開 JAR 時,提示『JAR 檔無效』

如果該 JAR 在 VM 上可正常執行,那麽便是 MANIFEST.MF 檔的 編碼 所致。
使用文本編輯工具,打開 MANIFEST.MF 檔,選擇編碼為 UTF-8,然後保存並重新打包。

如果該 JAR 在 VM 上不可正常執行,那麽基本上是 JAR 檔損壞。
這時 重新下載該 JAR 或是 尋找該 JAR 的其他版本 會很有幫助。

安裝 JAR 至 70%時,提示『JAR 檔無效』

如果該 JAR 在 VM 上可正常執行,那麽便是 MANIFEST.MF 檔的 内容 所致。
該情況缺乏足量的樣本,這裡便淺顯地以《戀愛主義-空色季節》為例。

1
2
3
4
5
6
7
8
9
10
Manifest-Version: 1.0
MIDlet-Vendor: GemmyPlanet
MIDlet-Version: 1.0.0
MIDlet-1: 恋爱主义-空色的季节,/i.png,Renai_MIDlet
MicroEdition-Configuration: CLDC-1.0
MIDlet-Permissions-opt: javax.microedition.io.Connector.socket
MIDlet-Icon: /i.png
MIDlet-Name: 恋爱主义-空色的季节
MicroEdition-Profile: MIDP-2.0
MIDlet-Permissions: javax.microedition.io.Connector.http

MIDlet-Permissions-opt 表示可選的權限,而 Nokia 基本不允許安裝請求 socket 權限的未簽章 MIDlet,即便是 Opt(可選權限)

我們將該行刪除,並保存 MANIFEST.MFUTF-8 編碼即可。


JAR 在安裝後,無法打開或閃退

在該情況下,安裝 JAR 後,系統會彈出『安裝完成』,而非打開應用的選項卡。
如果該 JAR 在 VM 上可正常執行,那麽便是 MANIFEST.MF 檔的 内容 所致。

該處以 華娛無線(CWA)的《水滸》為例。
Tip: 這并非推薦,而是 CWA 的遊戲是此類異常的重災區。

1
2
3
4
5
6
7
8
9
MIDlet-Icon: /a.png
MIDlet-1: 水浒-华娱版, /a.png, src.GameMIDlet
MIDlet-Description: 这是一款拥有华丽战斗风格和眩目必杀技系统的格斗游戏,N73系列
MIDlet-Name: 水浒-华娱版
MIDlet-Vendor: 华娱无线
MIDlet-Version: 1.0
MicroEdition-Configuration: CLDC-1.0
MicroEdition-Profile: MIDP-1.0
palnum: 0008

MANIFEST.MF 檔的修改點在於 MIDlet-Vendor
MIDlet-Vendor 的填入大於三個漢字,則會觸發該情況。

我們將該行修改為 MIDlet-Vendor: CWA,並保存 MANIFEST.MFUTF-8 編碼即可。
Tip: 修改為『華娛』亦可,但我的經驗是『使用英文可以更好規避異常』。


授權失敗(授权失败)

這類 JAR 檔,在解包後均有一個特殊的路徑:./com/nokia
代表性的樣本檔為 『MeBoy-F.jar』和 『洛城密探之追击赛车.jar』。

解決方式亦非常簡單:移除 Nokia 資料夾之後,重新打包即可。


資料權限請求頻繁(文件权限请求频繁)

這并非異常,而是 Nokia 對 JAR 檔存在嚴格的權限管理。
在解決之前,我們需要破解手機,攻略自尋。如果某一天破解教程絕跡,或許也會貼在這裡。

在破解後,桌面上會有一個名為『RomPatcher(深度破解)』的軟體。

  1. 在 RomPatcher 中開啟 Install Server RP+
  2. 安裝『C2Z 補丁生成器.sisx』,生成『c2z.rmp』;
  3. 下載『JAVA權限補丁』,解壓至 C://system/data/midp2/security/policy
  4. 移動『c2z.rmp』至 C://patches,並在 RomPatcher 中開啟 c2z
  5. 程式管理 - 安裝應用程式 -【程式名】- 設定- 讀取&修改用戶資料 - 長期允許。

現在,我們可以自由地在 JAR 軟體中讀寫本地資料。


小結

這篇貼文是意料之外的……實際上,我已經有四年沒有玩 Symbian 了。
創作動機的話,是因為最近有閑,心血來潮想把玩手中的機器。But……我也遭遇了一個相同的問題……更糟的是,我几乎把 Symbian 的玩機心得忘了個精光。

網路上查詢到的結果,也都是無用的。我只能憑藉記憶摸索,最終總結出了這篇貼文,基本均為普遍性的問題。一些情況過於個例(如《精靈仙境》只能在特定系統時間運行 ),不再多費筆墨。

我相信它不完美,但我相信對搜索而來的你絕對有用……大概。
貼文的搜索權重在『JAR』和『Nokia』上,真的能被搜索到嗎……至少,我屏蔽了 Baidu。

如果有更多異常情況,歡迎留下你的足跡 : )