1

我有一个 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')
    }
}
4

1 回答 1

2

解决方案是创建一个 Gradle 项目,并添加您的 Java/JavaFX 源。不需要 Ant,而 gradle 将为您管理一切。

为了让事情变得更简单,Gluon为主要的 IDE(NetBeans、IntelliJ 和 Eclipse)提供了一个插件。您只需要安装该插件,它将允许创建一个简单的 gradle 项目,其中包含您添加自己的源代码并构建它并将其部署在桌面、Android 和 iOS 设备上所需的一切。

您可以在 Gluon 的网站上找到几篇关于安装插件和从头开始创建项目的帖子:

为此,您需要一些先决条件。在您的情况下,最关键的是拥有一台 Mac 以便部署到 iPhone/iPad。其余的是所需的软件和次要配置。

请注意,使用 Gradle 您将不得不使用Tasks.

您可以从命令行(以及您的 IDE)运行您需要的任务:

./gradlew clean build
./gradlew run
./gradlew androidInstall
./gradlew launchIOSDevice
...

请注意,要部署到 iOS,您需要对构建脚本进行一些设置。另外,请阅读有关Apple 免费配置的信息。

于 2016-02-11T14:49:32.880 回答