【问题标题】:JavaFX : Gluon library with ANT or convert JavaFX-Ant project to JavafX-Gradle projectJavaFX : 具有 ANT 的 Gluon 库或将 JavaFX-Ant 项目转换为 JavafX-Gradle 项目
【发布时间】:2016-05-22 09:18:04
【问题描述】:

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

Update-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 值。

build.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')
    }
}

【问题讨论】:

  • 您在 Mac 上运行吗?您将需要它来创建 iPad 应用程序...
  • @JoséPereda:我没有 MAC,但我会创建一个 Mac OS 的 VM,并在其中做一些事情。那你能告诉我如何在 Mac 上处理这个问题吗?
  • 据我所知,这行不通。无论如何,我会回答你的问题
  • @JoséPereda : 我的同事有一台 Mac,如果有需要我们会找一个 Mac 系统。如果您有时间,请告诉我如何进行。谢谢。

标签: java gradle javafx ant gluon


【解决方案1】:

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

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

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

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

请注意,使用 Gradle 您必须使用 Tasks

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

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

请注意,要部署到 iOS,您需要在构建脚本中添加一些 settings。另外,请阅读 this 了解 Apple 免费配置。

【讨论】:

  • 我添加了 Java 源代码,现在当我尝试添加 Gluon 库时,出现错误。我已经更新了我的主要帖子。你能看看吗。谢谢。
  • 请发布您的 build.gradle 文件。添加源代码后,您应该能够从 Gradle 面板(右侧)在桌面上运行,选择 run 任务。您需要先安装Android sdk并设置ANDROID_HOME部署到Android。
  • 我更新了帖子,还设置了ANDROID_HOME参数。尽管如此,我仍然无法运行该项目。你能看看主帖吗。谢谢你。 :-)
  • 您可以将插件更新到 1.0.7 版本(在此处查看最新的 [update(bitbucket.org/javafxports/javafxmobile-plugin))。还要检查 Android sdk,您至少需要 platform-21,但建议使用 23,包括构建工具。
  • 好的。我创建了一个新项目并跳过了 Android。无论如何,我的兴趣在于为 IOS 创建可执行文件。现在,我有一个在 Intellijd Idea 上运行的项目,并且我选择了 IOS。更新后的 build.gradle:pastebin.com/jwgHXAUc。现在,我在哪里可以找到为 IOS 生成文件的设置?非常感谢您的帮助。
猜你喜欢
  • 2014-06-27
  • 1970-01-01
  • 2011-05-01
  • 2014-06-18
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 1970-01-01
相关资源
最近更新 更多