我有一个 JavafX 项目,我只想将其导出到 iPad。我发现 Gluon 框架可以为我做到这一点。不幸的是,我的 JavaFX 项目使用 Ant,而不是 Gluon 文档中所示的 Gradle。
有什么方法可以将 Gluon 依赖项放入 Ant 任务中并生成 IOS 输出可执行文件吗?如果没有,那么是否可以将此项目转换为 Gradle 项目。
请注意我使用的是 Ubuntu Linux。我不知道创建 Ipad 可执行文件需要什么。由于我之前没有接触过Mac系统,所以我对此的理解可能是错误的。
这是 ant 的 build.xml:
<?xml version="1.0" encoding="ASCII"?>
<anttasks:AntTask xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:anttasks="http://org.eclipse.fx.ide.jdt/1.0" buildDirectory="${project}/build" cssToBin="true">
<deploy packagingFormat="exe">
<application name="Test" mainclass="application.Main" version="1.0"/>
<info title="Frontend" vendor="NAME"/>
</deploy>
<signjar/>
</anttasks:AntTask>
这就是我整个项目中的所有内容,其他只是我自己创建的Java文件。你能帮忙的话,我会很高兴。谢谢。
更新
根据收到的答案,我创建了一个 Gradle 项目并将文件移到那里。之后,我添加了来自 here 的 Gluon 库。 ,但我不断收到此错误:
Error:(14, 0) Build script error, unsupported Gradle DSL method found: 'androidRuntime()'!
Possible causes could be:
- you are using Gradle version where the method is absent (<a href="open_gradle_settings">Fix Gradle settings</a>)
- you didn't apply Gradle plugin which provides the method (<a href="apply_gradle_plugin">Apply Gradle plugin</a>)
- or there is a mistake in a build script (<a href="goto_source">Goto source</a>)
更新2
所以,我最终做的是为Intellij Idea安装Gluon插件,然后创建一个Gluon项目。按照网页上的建议,我添加了 ANDROID_HOME 参数和指向 Linux 的 android-sdk 的目录。尽管如此,当我调用运行程序时,我仍然收到错误:
Error:Android Source Generator: [GluonBasicProject] Android SDK is not specified
我的 gradle.properties 看起来像这样:
gradlePropertiesProp=gradlePropertiesValue
systemProjectProp=shouldBeOverWrittenBySystemProp
envProjectProp=shouldBeOverWrittenByEnvProp
systemProp.system=systemValue
ANDROID_HOME=/home/akshay/Downloads/android-sdk-linux
请注意,在创建此项目时,我选择了默认的 gradle-wrapper,并且在我的系统上发现了 4 个 gradle 发行版,因此我更新了这四个发行版中的 ANDROId_HOME 值。
构建.gradle:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b10'
}
}
apply plugin: 'org.javafxports.jfxmobile'
repositories {
jcenter()
}
mainClassName = 'com.gluonapplication.GluonApplication'
jfxmobile {
android {
manifest = 'src/android/AndroidManifest.xml'
}
ios {
infoPList = file('src/ios/Default-Info.plist')
}
}
最佳答案
解决方案是创建一个 Gradle 项目,并添加 Java/JavaFX 源。不需要 Ant,gradle 将为您管理一切。
为了让事情变得更容易,Gluon 有一个 plugin适用于主要 IDE(NetBeans、IntelliJ 和 Eclipse)。您只需要安装该插件,它将允许创建一个简单的 gradle 项目,其中包含添加您自己的源代码、构建它并将其部署在桌面、Android 和 iOS 设备上所需的所有内容。
您可以在 Gluon 的网站上找到几篇有关安装插件和从头开始创建项目的帖子:
为了做到这一点,您需要一些 prerequisites 。在您的情况下,最关键的是拥有一台 Mac 以便部署到 iPhone/iPad。剩下的就是所需的软件和少量配置。
请注意,使用 Gradle 您必须使用任务
。
您可以从命令行(以及从 IDE)运行您需要的任务:
./gradlew clean build
./gradlew run
./gradlew androidInstall
./gradlew launchIOSDevice
...
关于JavaFX : Gluon library with ANT or convert JavaFX-Ant project to JavafX-Gradle project,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342015/