2017-06-14 97 views
1

我有一个在JavaFX中制作的项目,并且想要在Android中运行它。我已经使用了JavaFXports并生成了所需的apk。另外我设法在模拟器上安装apk。但我需要源代码(源代码)。换句话说,我希望能够在仿真器上运行时调试项目。将JavaFX项目导出到android

+0

可以使用IDE和Android监视器中的JavaFX源来调试项目,至少可以在真正的Android设备上运行该项目。你使用的是什么模拟器? –

+0

来自android studio Nexus_5X_API_21 –

+0

如果您正在使用Android Studio,并使用JavaFX项目,那么可能会调试_just_开箱即用。你试过了吗? –

回答

3

要调试您使用用于IDE(NetBeans,IntelliJ或Eclipse)的Gluon插件创建的JavaFXPorts/Gluon Mobile,并且已经部署到Android模拟器(使用Android Studio),请按照以下步骤操作:

1.从IDE

对于您可以使用胶子plugin您的IDE中创建JavaFX的移动应用程序。使用其中一个内置模板创建您的项目,或使用可用的多个样本here中的一个。

假设您使用Single View项目。提供一个名称,并运行应用程序

2.创建APK

运行任务Tasks->Android->Android创建APK(或命令行运行./gradlew android)。

3.运行模拟器

为此,开放的Android工作室,从模板创建一个新的空应用程序,然后点击运行。它会要求你选择一个设备。然后创建一个新的虚拟设备并使用ARMEABI映像。

armeabi image

虽然这个形象是真的,真的很慢,X86-64图像将无法正常工作部署APK(见INSTALL_FAILED_NO_MATCHING_ABIS error)。所以,如果你不能得到一个真正的设备来测试它,据我所知,这是唯一的解决方案。

如果需要,请下载armeabi图像。一旦你有了它,启动应用程序将需要很长时间。但只需要模拟器,所以不需要等待,我们可以关闭模​​拟器,然后在关闭Android Studio之前,获取映像名称,比如说Nexus_5_API_23

在命令行,去<android sdk>/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

在命令行,去<android sdk>/platform-tools和运行

adb -s emulator-5554 install <path.to>/<your.app>.apk 

您可以/builds/javafxports/android/<your.app>.apk下找到项目中的APK。

$adb -s emulator-5554 install GluonDebugEmulator.apk           
[100%] /data/local/tmp/GluonDebugEmulator.apk                      
    pkg: /data/local/tmp/GluonDebugEmulator.apk 
Success 

5.运行在模拟器上

6.打开Android设备监视器

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

monitor

7.将调试您的IDE

最后,回到你的IDE,并在调试选项,附加一个调试器,本地主机与8700和这对NetBeans的:

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

8.启动调试

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

debugging

,这是它。