让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上执行效果例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="360" height="640" alt="">

点击颜色,以下会同步显示文本。执行效果良好。

 本人之前用JavaFX写的SLG的演示样例,也能够打包到手机上执行。仅仅有个别问题,当然是由于没有针对移动设备的分辨率进行调整。

 有兴趣的朋友能够自己试试,兴许我还会做相关研究,有问题的能够直接评论,有时间我会回复解答。

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

近期推特和Youtube上的比較多,研究了几天的JavaFX打包到Android上。基本没什么大的问题了。如今已经支持针对各个平台做不同的操作,能够加入Android广告。调用Android功能等等了。可是JavaFX游戏打包到Android上的效率不容乐观,本人写了一点演示样例打包到Android上了。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="360" height="640" alt="">

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上的更多相关文章

  1. cocos打包到ios与android上音频推荐

    首先贴一张官方对于ios与android上音频格式的推荐: 这里只给出了推荐格式,一般我们在实际运用中会使用如下方式: 一.IOS与安卓各一套:音乐:都使用MP3    音效:ios用caf Andr ...

  2. [转]初探 PhoneGap 框架在 Android 上的表现

    原文地址:http://topmanopensource.iteye.com/blog/1486929 phonegap是由温哥华的一家小公司研发的多平台的移动开发框架,支持流行的大多数移动设备(iP ...

  3. Unity3D之AssetBundle学习:Android上运行笔记

    路径统一 在Android上加载StreamingAssets文件夹下的AssetBundle文件,首先需要对加载地址进行处理,注意PC.Android和IOS的地址不一致需要针对不同的平台不同的处理 ...

  4. Android 上使用 iconfont 的一种便捷方案

    最近在学习 AIOSO(Alibaba Internal Open Source Organization,即阿里巴巴内部开源组织) 的一个子项目MMCherryUI,这是一个流式布局,可以在运行时做 ...

  5. 分析cocos2d-x在Android上的编译过程(1):cocco2d-x是怎样生成的Android的文件夹结构

    当新建完一个cocos2d-x的项目后.进入到项目中的proj.android中,会看到例如以下的文件夹结构 在VS先把它编译,然后导入到Eclipse中,导入完后会看到多了几个文件 watermar ...

  6. cocos2d安装配置及打包成Android

    vs+python+cocos2d python下载:点这里 这里需要下载Python 2.X版本.曾经以为要下载3.x版本 后来装上发现cocos2d-x提供的python运行报错,所以卸载以后重新 ...

  7. Ionic2 cordova angular2 打包到Android apk环境搭建

    一.前言 前段时间,公司有个APP项目需要支持不同平台,于是采用了Ionic2 + cordova + angular2,在搭建环境过程中遇到了不少问题,刚好最近有时间整理出来. 二.开发环境搭建 参 ...

  8. 2013 HTML5中国峰会演讲:Android上的HTML5:过去,现在和将来

    转载请注明原文地址:http://blog.csdn.net/milado_nju ## 会议链接(应用和工具专场) http://2013.html5dw.com/main, 2013年8月10日 ...

  9. [原] Android上使用native IO

    首先, 官方google play对APK大小有限制: 50M.( https://support.google.com/googleplay/android-developer/answer/113 ...

随机推荐

  1. POJ 3624.Charm Bracelet-动态规划0-1背包

    Charm Bracelet Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 47876   Accepted: 20346 ...

  2. Codeforces Gym 101775D Mr. Panda and Geometric Sequence(2017-2018 ACM-ICPC Asia East Continent League Final,D题,枚举剪枝)

    题目链接  ECL-Final 2017 Problem D 题意  给定$2*10^{5}$组询问,每个询问求$l$到$r$之间有多少个符合条件的数 如果一个数小于等于$10^{15}$, 并且能被 ...

  3. 使用after伪类,配合IE的zoom或者overflow清除浮动

    用after伪类实现,兼容多种浏览器:.clearfix:after {content:"."; display:block; height:0; clear:both; visi ...

  4. 信息批量提取工具bulk-extractor

    信息批量提取工具bulk-extractor   在数字取证中,通常需要面对海量的数据,如几百GB甚至TB级别的数据.从这些海量数据中,提取有价值的数据是一个漫长.枯燥.繁琐的过程.Kali Linu ...

  5. Java类的定义及其实例化

    如果你不了解类和对象的概念,请猛击这里:Java类和对象的概念 类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: public cl ...

  6. Windows 定时删除指定路径下N天前的日志文件

    Windows 定时删除指定路径下N天前的日志文件 Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 @echo off set SrcDir=E:\WORK\Git s ...

  7. 发布Android开源库,看这个文章就够了!

    最近在Flipboard实习期间写了一个轮播工具,技术上没什么难点,不过动画效果还是不错的,决定改改代码写个库开源出去.项目地址:http://github.com/chengdazhi/Decent ...

  8. 死磕 Fragment 的生命周期

    死磕 Fragment 的生命周期 本文原创,转载请注明出处.欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文.本篇文章已 ...

  9. 设计模式之状态模式(PHP实现)

    github地址:https://github.com/ZQCard/design_pattern /** * 在状态模式(State Pattern)中,类的行为是基于它的状态改变的.这种类型的设计 ...

  10. appium 测试模拟器时输入adb devices显示 unauthorized

    https://stackoverflow.com/questions/32132434/set-adb-vendor-keys 也就是点击AVD管理器右边的下拉列表,点击清除数据,再重启虚拟机 0d ...