程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 關於移動百寶箱應用打包問題的解決辦法

關於移動百寶箱應用打包問題的解決辦法

編輯:J2ME

各位SP難兄難弟們……可能你們最近收到年初提交的百寶箱測試反饋,可能都有下面兩個問題吧。經過一下午的折騰,大概搞清楚原因了,寫出來大家交流一下,以便共同通過測試,不要為一些打包的問題而被打回來。(除了這兩個以外還有什麼問題當然也歡迎交流)

author:clapton_xpAThotmailDOTcom

(1)JAD中缺少應有的項:MIDlet-Vendor、MIDlet-Version

(2)不能提交應用,上傳時平台提示:“應用和已知的Java 特征不匹配,不能被上傳”


(1)是由於JAD編碼不是ASCII

《百寶箱業務測試及開發FAQ》中提到:

7. JAD亂碼是怎麼產生的?

答:由於UTF-8編碼的JAD文件在上傳至平台時會表現為亂碼,因此在上傳前需用ultraedit(ultraedit的“高級”/“配置”中將“自動檢測UTF-8文件”勾選掉)手工進行“文件->轉換->UTF-8轉ASCII”的轉換步驟,轉換後含有亂碼字符的JAD文件可能導致無法上傳或用手機下載時會看到亂碼,因此無法完成後續測試。

(上面這句話我死活看不懂要表達的是什麼-_-b)

部分SP提交的JAD中總出現某項前面有亂碼的情況, 是因為在UltraEdit裡設置了UTF-8文件頭標記的後果,即在“高級”/“配置”中勾選了“保存是對所有UTF-8寫入UTF-8文件頭標記(ROM)-(OFF)”,應該勾選掉。

(2)是由於編譯出的class不被百寶箱平台識別,解決的辦法是使編譯出的class兼容性為1.1,做法可以參考網上的這段文字:


百寶箱應用編譯打包事宜

1 編譯時,設置Javac 的target vm為1.1即可通過移動檢測。wtk中無法實現。在Eclipse中可以在Java-compiler-Compliance and Classfiles中做以下設置:
Compiler compliance level: 1.4
Generated .class files compatibility: 1.1
Source compatibility: 1.3

2 用eclispe打混淆包。但eclipse編寫jad中文會出現亂碼,所以用wtk編寫正確的jad,然後用wtk打包(注意不能覆蓋eclispe打的包),這是為了用wtk獲得正確的jad和manifest文件。將elcipse打包出的jar解壓,用wtk生成的mainifest代替原jar中的mainifest文件,然後用winrar打包(zip格式,可選最大壓縮,注意要選擇所有的文件後打包,不要將外面的整個目錄打包).最後將jad中的jar size改為這個最新的jar的字節數。

另:1. Nokia S60,SE k700機器中顯示的游戲名字為MIDlet-1中的名字,而Nokia40為MIDlet-Name中的名字
    2. 根據sp提供的資料Nokia 7650 游戲不能用中文名(其實NGageQD可以)

 

特別說明:


1.你按照上面的方法打包出來的jar理論上是可以通過移動的上傳平台的檢測的;不過你可能不太放心。怎麼辦?上傳測試一下不就玩了(每個sp都會有一個移動給的上傳帳戶的)。Eclipse打包出來的jar(經過上面的winrar壓縮步驟後的)和wtk生成的jad在上傳平台時,由於此時的jad是utf-8格式的,所以會造成:

(1)JAD中缺少應有的項:MIDlet-Vendor、MIDlet-Version

所以你必須把這個jad轉成ascii碼的,如何轉參見上面的“7. JAD亂碼是怎麼產生的?”,這裡面的轉換方法。

這樣就jar和jad就可以正確上傳了。此時jad裡面的描述那一項會在移動平台上正確顯示。但是這只是測試它們可不可以上傳,此時的jad並不是提交給移動的文件。提交給移動的是沒有轉成ascii碼之前的jad。也就是utf-8的jad。Ascii碼編碼的jad文件安裝到手機上是無法通過jad來安裝程序的。(轉換工作移動他們做的。我們在這裡只是提前測試一下能不能上傳而已。)


2.另外對於平台的適配:如果你的游戲是為Nokia 6600開發的,那麼一定要看看,在上傳到平台後,平台適配那個列表裡6600有沒有被勾選上,否則,移動的反饋就是“經檢測、上傳應用與提交平台不匹配”。當然如果你的游戲是好幾個程序通用的。那麼這幾個機型都要被勾上哦!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved