我有一个 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 项目并将文件移到那里。之后,我从这里添加了 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 参数和目录指向 android-sdk for Linux。不过,当我调用运行程序时,我不断收到错误消息:
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')
}
}