将JavaFX项目导出到android

Ale*_*hov 2 java android javafx javafxports

我有一个项目,JavaFX并希望在Android中运行它.我已经使用JavaFXports并生成了所需的apk.我还设法在模拟器上安装apk.但我需要源(源代码).换句话说,我希望能够在模拟器上运行时调试项目.

Jos*_*eda 5

要调试使用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.

在命令行上,转到<android sdk>/tools并运行:

./emulator -avd Nexus_5_API_23
Run Code Online (Sandbox Code Playgroud)

它会出现,你会看到类似的东西:

$ ./emulator -avd Nexus_5_API_23
emulator: Listening for console connections on port: 5554
emulator: Serial number of this emulator (for ADB): emulator-5554
Run Code Online (Sandbox Code Playgroud)

4.部署apk

在命令行上,转到<android sdk>/platform-tools并运行

adb -s emulator-5554 install <path.to>/<your.app>.apk
Run Code Online (Sandbox Code Playgroud)

你可以在你的项目中找到apk /builds/javafxports/android/<your.app>.apk.

$adb -s emulator-5554 install GluonDebugEmulator.apk                                         
[100%] /data/local/tmp/GluonDebugEmulator.apk                                                                                       
    pkg: /data/local/tmp/GluonDebugEmulator.apk
Success
Run Code Online (Sandbox Code Playgroud)

5.在模拟器上运行apk

6.打开Android设备监视器

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

监控

7.在IDE上附加调试器

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

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

8.开始调试

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

调试

就是这样.