您的位置:首页 > 移动开发 > Android开发

JavaFX打包到Android上

2015-07-12 17:15 232 查看
 让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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: