将JavaFX项目导出到android
我有一个用JavaFX
制作的项目,想在Android中运行它。 我已经使用了JavaFXports
并生成了所需的apk。 我还设法在模拟器上安装apk。 但我需要源(源代码)。 换句话说,我希望能够在模拟器上运行时调试项目。
要调试使用IDE的Gluon插件(NetBeans,IntelliJ或Eclipse)创建的JavaFXPorts / Gluon Mobile,以及已部署到Android模拟器(使用Android Studio),请按照下列步骤操作:
1.从IDE创建JavaFX移动应用程序
为此,您可以使用IDE的Gluon 插件 。 使用其中一个内置模板来创建项目,或者使用此处提供的众多样本之一。
假设您使用的是Single View项目。 提供名称并运行应用程序
2.创建apk
运行任务Tasks->Android->Android
来创建apk(或在命令行上运行./gradlew android
)。
3.运行模拟器
为此,打开Android Studio,从模板创建一个新的空应用程序,然后单击运行。 它会要求您选择一个设备。 然后创建一个新的虚拟设备并使用ARMEABI图像。
虽然这个图像非常非常慢,但x86-64图像无法部署apk(请参阅INSTALL_FAILED_NO_MATCHING_ABIS 错误 )。 因此,如果您无法获得真正的设备进行测试,据我所知,这是唯一的解决方案。
如果需要,请下载armeabi图像。 一旦你拥有它,启动应用程序将需要很长时间。 但只需要模拟器,所以没有必要等待,我们可以关闭模拟器,在关闭Android Studio之前,获取图像名称,比方说Nexus_5_API_23
。
在命令行上,转到
并运行:
./emulator -avd Nexus_5_API_23
它会出现,你会看到类似的东西:
$ ./emulator -avd Nexus_5_API_23 emulator: Listening for console connections on port: 5554 emulator: Serial number of this emulator (for ADB): emulator-5554
4.部署apk
在命令行上,转到
并运行
adb -s emulator-5554 install /.apk
你可以在/builds/javafxports/android/
下的项目中找到apk。
$adb -s emulator-5554 install GluonDebugEmulator.apk [100%] /data/local/tmp/GluonDebugEmulator.apk pkg: /data/local/tmp/GluonDebugEmulator.apk Success
5.在模拟器上运行apk
6.打开Android设备监视器
转到
并运行monitor
。 在左侧,您应该看到模拟器设备和进程列表。 在那里找到您的应用程序包名称,选择它并查看它为该应用程序使用的端口(8700)。
7.在IDE上附加调试器
最后,返回到IDE,在Debug选项下,附加一个调试器,localhost和8700.这适用于NetBeans:
然后单击确定。 调试过程将开始。
8.开始调试
在代码中添加断点,例如在按钮事件处理程序中,然后单击模拟器上运行的应用程序中的按钮。 你会看到它在断点处停止。
就是这样。