Android上的JavaFX-Gradle找不到JDK

问题描述 投票:0回答:4

我正在尝试使用Dalvik JavaFX-Android SDK(由JavaFX And​​roid移植团队提供)来使JavaFX应用程序在Android上运行。因此,我下载了JavaFX And​​roid移植团队提供的示例,并一直试图在Android上运行其中一个示例,但收效甚微。

使用带有Gradle插件的Eclipse,我导入了“ HelloWorldFxml”示例项目。然后像自述文件告诉我的那样,在项目上运行了Gradle任务“ ./gradlew androidInstall”。但不幸的是,该任务无法执行,因为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”时的控制台输出:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS94bnE1Ti5wbmcifQ==” alt =“在此处输入图像描述”>

java android gradle javafx javafxports
4个回答
0
投票

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


0
投票

检查Eclipse中的Java设置:

Window -> Preferences
Java -> Installed JREs

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

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

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


0
投票

基本注释

[C0发布以来,并且在很短的时间内,JavaFXPorts团队发布了一些新版本,它们简化了将JavaFX应用程序移植到Android或iOS的所有过程。

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

尽管此答案可能无法帮助OP解决他的特定问题,但肯定会帮助他和其他人,因为一切都得到了简化。

新方法

使用此插件,有一种新方法可以为Android创建HelloWorldFxml应用程序。

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

您可以找到其他基本样本dalvik-sdk-8u40-ea3,并下载存储库here

您无需编辑任何一行,只需在连接了设备的情况下在示例根目录的命令行上键入以下内容:

here

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

注意,您可以从IDE中打开这些示例,因此您可以对其进行修改,并在本地运行它们,或者再次为您的设备构建apk。


-1
投票

也有这个问题。我的调查:

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

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

#1创建了这些探测器。就像这篇文章中描述的那样:gradlew installDebug因此,为了确保一切,我使用相同的路径创建了两者。因为我不知道gradle使用的是哪一个。

#2这确实是可以帮助我的技巧。在StackOverflow中也发现了这一点。在此行的How to set java_home on Windows 7?下,在您的build.gradle中写:

android{..}

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

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

© www.soinside.com 2019 - 2024. All rights reserved.