我在JavaFX
制作了一个项目,并希望在Android中运行它。我使用了JavaFXports
并生成了所需的apk。我还设法在模拟器上安装apk。但我需要源(源代码)。换句话说,我希望能够在模拟器上运行时调试项目。
答案 0 :(得分:5)
要调试使用适用于IDE(NetBeans,IntelliJ或Eclipse)的Gluon插件创建的JavaFXPorts / Gluon Mobile,以及已部署到Android模拟器(使用Android Studio),请执行以下步骤:
<强> 1。从IDE创建JavaFX移动应用程序
为此,您可以将Gluon plugin用于IDE。使用其中一个内置模板来创建项目,或者使用众多可用样本中的一个here。
我们假设您使用的是单视图项目。提供名称并运行应用
<强> 2。创建apk
运行任务Tasks->Android->Android
以创建apk(或在命令行上运行./gradlew android
)。
第3。运行模拟器
为此,打开Android Studio,从模板创建一个新的空应用,然后单击运行。它会要求您选择一个设备。然后创建一个新的虚拟设备并使用ARMEABI图像。
虽然这张图片非常非常慢,但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。在模拟器上运行apk
<强> 6。打开Android设备监视器
转到<android sdk>/tools
并运行monitor
。在左侧,您应该看到模拟器设备和进程列表。在那里找到您的应用程序包名称,选择它并查看它用于应用程序的端口(8700)。
<强> 7。在IDE上附加调试器
最后,返回IDE,在Debug选项下,附加一个调试器,localhost和8700.这适用于NetBeans:
然后单击“确定”。调试过程将开始。
<强> 8。开始调试
在代码中添加断点,例如在按钮事件处理程序中,然后单击模拟器上运行的应用程序中的按钮。你会看到它在断点处停止。
就是这样。