标签:
让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。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/wingfourever/article/details/46851373