将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

在命令行上,转到/tools并运行:

 ./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

在命令行上,转到/platform-tools并运行

 adb -s emulator-5554 install /.apk 

你可以在/builds/javafxports/android/.apk下的项目中找到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设备监视器

转到/tools并运行monitor 。 在左侧,您应该看到模拟器设备和进程列表。 在那里找到您的应用程序包名称,选择它并查看它为该应用程序使用的端口(8700)。

监控

7.在IDE上附加调试器

最后,返回到IDE,在Debug选项下,附加一个调试器,localhost和8700.这适用于NetBeans:

然后单击确定。 调试过程将开始。

8.开始调试

在代码中添加断点,例如在按钮事件处理程序中,然后单击模拟器上运行的应用程序中的按钮。 你会看到它在断点处停止。

调试

就是这样。