1. 程式人生 > >JavaFX打包到Android上

JavaFX打包到Android上

nts 資源 興趣 項目 之前 重要 nbsp XML fcm

讓JavaFX執行到移動平臺一直是社區努力完畢的事。
當然,眼下已經能夠讓JavaFX執行到Android和IOS平臺了,以下我們來看看怎樣打包自己的JavaFX項目到Android平臺。
首先下載以下這個演示樣例: http://pan.baidu.com/s/1bnwIYrP
這個演示樣例是我從打包官方演示樣例的樣例裏改動而來,用於打包一個簡單的JavaFX程序。
演示樣例結構例如以下:

技術分享

由文件夾結構能夠看到。演示樣例是採用gradle來構建的。gradle也是國外很火的自己主動化構建工具。
在第一次打包的時候。須要雙擊gradlew.bat,會下載一系列的庫和包,這裏可能會花不少的時間。大家須要等等。
打包的時候須要註意

下面的步驟:
1.JavaFX的項目代碼放在src/main/java/目錄以下
2.JavaFX須要的資源放在src/main/resources/目錄以下
3.改動build.gradle文件,裏面的mainClassName表示的JavaFX主類的包結構。applicationPackage表示生成的Android的APK程序的包名,當然我們也能夠指定自己的xml。這個是後面須要研究的事。
4.在環境變量裏加入ANDROID_HOME,用於指定AndroidSDK的文件夾。
在完畢了上面的操作後。通過cmd進入到演示樣例文件夾的文件夾裏,執行gradle run,看看是否能執行,假設能執行。則執行gradle android
來打包我們的APK程序。


打包好的APK放在build/javafxports/android文件夾以下。
另外,有一個重要的點。依據官方說明。JavaFX程序須要通過下面代碼來設置Stage的大小,不然在Android設備上的程序分辨率和顯示會有問題。

Rectangle2D bounds = Screen.getPrimary().getVisualBounds();
Scene scene = new Scene(root, bounds.getWidth(), bounds.getHeight());
在Android上執行效果例如以下:

技術分享

點擊顏色,以下會同步顯示文本。執行效果良好。
本人之前用JavaFX寫的SLG的演示樣例,也能夠打包到手機上執行。僅僅有個別問題,當然是由於沒有針對移動設備的分辨率進行調整。
有興趣的朋友能夠自己試試,興許我還會做相關研究,有問題的能夠直接評論,有時間我會回復解答。

----------------------------------------------------------------------------------------------------------------------------------------------

近期推特和Youtube上的比較多,研究了幾天的JavaFX打包到Android上。基本沒什麽大的問題了。如今已經支持針對各個平臺做不同的操作,能夠加入Android廣告。調用Android功能等等了。可是JavaFX遊戲打包到Android上的效率不容樂觀,本人寫了一點演示樣例打包到Android上了。

技術分享

技術分享

技術分享

JavaFX遊戲在Android上的效率感覺一般般。本人用寫的簡單的遊戲引擎寫了一些演示樣例打包到android上,物體不算非常多的情況下大概都在50-60FPS之間。一個簡單的Image,加入了100個到同屏幕上,FPS就掉到20-30了。當然,PC和android性能區別非常大,PC上至少加入3000個Image,FPS才會到30左右(個人電腦測試)。只是,畢竟不是用OpenGL做底層繪制,在android上執行效率這種情況也不算太難堪。

看看興許會有什麽改進吧!

---------------------------------------------------------------------------------------------------------------------------------------------


本文章為個人原創,轉載請註明出處,本人CSDN博客:http://blog.csdn.net/wingfourever,個人博客地址:http://www.wjfxgame.com。

JavaFX打包到Android上