2014年1月15日 星期三

[Mac] 將 jar 檔打包成在Mac OS X 上執行的 app 檔

pic1.png   ======> 螢幕快照 2014 01 15 上午11 46 57

 

在開發 Java 應用程式時,經常會將程式打包成 jar 檔,方便執行,不過在 user experience 上面總是沒那麼好,後來找到一些一些解決方案也不能用了,原因是新版的xcode已經不提供這幾個工具 (Icon Composer 和 Jar Bundler) http://www.javaworld.com.tw/jute/post/view?bid=5&id=305437

所以後來又找到另外一個方法,可以將 jar 檔輕易的打包成可以在 Mac 上的APP檔的方法了。 以下是詳細的步驟:

 

1. 安裝 Homeberw

這是一個套件管理軟體,把他想成 Ubuntu 上的 apt-get 吧

http://blog.lyhdev.com/2011/06/homebrew-mac-os-x.html

ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

 

2. 安裝 ant

ant是相當知名的 build process 管理套件,主要就是透過 ant 所描述的 build.xml 將 jar 轉成 app。

brew update brew install ant (或是自行下載 ant 的 jar library 並放到 /Library/Java/Extensions 目錄下)

 

3. 下載 JarBundle

這和Xcode提供的Jar Bundle是不一樣的套件,裡面提供了實做jar to app的library http://sourceforge.net/projects/jarbundler/ 把下載回來的jar檔(jarbundler-2.2.0.jar)丟到 /Library/Java/Extensions 就可以了,熟悉 Java 的人應該不陌生。

 

4. 建立你的 build.xml

這個步驟最關鍵,也最容易出錯,請仔細撰寫。

build.xml 是給ant看的,在這個 description file 中描述了 jar 檔的路徑、,app的名字、icon、版本等等。

範例:

螢幕快照 2014 01 15 上午11 37 12 

參數一覽: http://informagen.com/JarBundler/

參考資料:http://stackoverflow.com/questions/14917908/convert-java-to-app-file-for-macosx-using-jarbundler

 

5. 開始打包

當一切準備就緒後,只要執行以下的指令,就可以把 jar 轉換成 精美的 app 格式了。

ant bundle

 

6. 支援 Retina

打包好後,有些人可能會發現在 retina 的螢幕下,怎麼你的 app 變得相當粗糙,字都糊糊的,原因是 JarBundler 預設沒有把 retina 的選項打開,這時候就要稍微用人工的方式改一下了。

用文字編輯器,或是任何你喜歡的方式編輯 app 裡面的 Info.plist 檔,加上下列的設定:

螢幕快照 2014 01 15 上午11 24 18 1

就完成了!

沒有留言:

張貼留言