0

我正在尝试使用 Dalvik JavaFX-Android SDK(由 JavaFX And​​roid 移植团队提供)让 JavaFX 应用程序在 Android 上运行。因此,我下载了 JavaFX And​​roid 移植团队提供的示例,并一直尝试在 Android 上运行其中一个,但没有取得多大成功。

使用带有 Gradle 插件的 Eclipse,我导入了“HelloWorldFxml”示例项目。然后我在项目上运行 Gradle 任务“./gradlew androidInstall”,就像 README 文件告诉我的那样。但不幸的是任务无法执行,因为 Gradle 无法找到我的 JDK:


(来源:forumbilder.se

即使我的 JAVA_HOME 系统变量设置正确并且我之前没有遇到过问题:


(来源:forumbilder.se

任何人都可以提供一些关于我如何解决这个问题的见解?

版本:Eclipse Luna Service Release 1a (4.4.1)、Gradle 2.2、dalvik-sdk-8u40-ea3、Android SDK Build-tools 21.1.2、Android SDK Tools 24.0.2

编辑:在示例项目上运行“gradlew androidinstall”时的控制台输出:

在此处输入图像描述

4

4 回答 4

0

即使错误消息没有指定它,也许它正在您的 PATH 中寻找 javac?如果它不在那里,请尝试添加;%JAVA_HOME%\bin到 PATH 变量的末尾(然后重新启动 Eclipse,我遇到了运行进程之前没有对环境变量进行更改的问题)。

于 2015-02-17T21:23:55.683 回答
0

基本说明

自发布以来dalvik-sdk-8u40-ea3,JavaFXPorts 团队在很短的时间内发布了几个新版本,所有这些都简化了将 JavaFX 应用程序移植到 Android 或 iOS 的所有过程。

他们发布了 dalvik-sdk-8u40-ea4 并宣布发布一个新插件,这将最大限度地简化从 JavaFX 创建移动应用程序的步骤。

虽然这个答案可能无法帮助 OP 解决他的特定问题,但肯定会帮助他和其他人,因为一切都非常简单。

新的方法

有了这个插件,就有了一种为 Android 创建 HelloWorldFxml 应用程序的新方法。

新的 javafxmobile-plugin 允许您使用单个“build.gradle”文件生成 apk。

您可以在此处找到其他基本示例,并在此处下载存储库。

您无需编辑一行,只需在命令行中输入此代码,在示例的根目录中,并连接您的设备:

gradlew androidInstall

对于以前的版本,您需要安装 JDK8u40 和 Android SDK。虽然不需要 dalvik-sdk,但它由插件检索。

请注意,您可以从 IDE 打开这些示例,这样您就可以修改它们,并在本地运行它们或为您的设备再次构建 apk。

于 2015-02-17T22:45:42.053 回答
0

检查 Eclipse 中的 Java 设置:

Window -> Preferences
Java -> Installed JREs

确保那里列出了您的 JDK 1.8。如果不是,请使用Add...按钮添加它。

一旦 JDK 为 Eclipse 所知,请确保您的项目设置使用该 JDK 作为编译器,并且 Gradle 插件应该能够从那里获取设置。

在紧要关头,您还应该能够从命令行运行 Gradle,它应该可以正常工作,因为您已经设置了%JAVA_HOME%变量。

于 2015-02-17T22:52:49.450 回答
-1

也有这个问题。
我的探针:

-Windows 7
-Dalvik SDK (dalvik-sdk-8u60-b5)
-JDK 8(最新版本 8_60 /重要提示:JDK 不是 JRE
-我还尝试了 Dalvik-SDK-download 提供的HelloAndroid项目。


所以我执行命令行: gradlew installDebug
我的问题几乎是一样的。“找不到 JDK。请确保存在 JAVA_HOME 或 JAVA8_HOME 系统变量。”

#1
创建了这些探针。就像这篇文章中描述的那样:
如何在 Windows 7 上设置 java_home?
所以为了确保一切,我用相同的路径创建了两者。因为我不确切知道 gradle 使用的是哪一个。

#2
这真的是帮助我的技巧。在 StackOverflow 中也找到了这个。在你的 build.gradle 中写下这一android{..}

  retrolambda {
     jdk 'C:/Program Files/Java/jdk1.8.0_60'              //<--your JDK-path
  }

看起来像这样


然后再次执行相同的命令行,它对我有用。我认为只有 2. 步骤是解决方案,因为我猜如果有 jdk 的直接路径,gradle 不会查找变量。

于 2015-10-13T10:13:10.077 回答