我有一个使用JavaFX
开发的项目,想要在Android上运行它。我已经使用了JavaFXports
并生成了所需的apk文件。同时,我成功地将apk文件安装到模拟器上。但是我需要源代码。换句话说,我希望能够在模拟器上调试项目。
我有一个使用JavaFX
开发的项目,想要在Android上运行它。我已经使用了JavaFXports
并生成了所需的apk文件。同时,我成功地将apk文件安装到模拟器上。但是我需要源代码。换句话说,我希望能够在模拟器上调试项目。
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,在调试选项下,使用localhost和8700附加调试器。这是针对NetBeans的:
点击“确定”按钮,将启动调试进程。
8. 启动调试
在您的代码中添加断点,例如在按钮事件处理程序中,并单击运行在模拟器上的应用程序中的按钮。您会看到它停在断点处。
这就是它。