Android上的JavaFX - Gradle无法找到JDK

时间:2015-02-17 21:10:35

标签: java android gradle javafx javafxports

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

将Eclipse与Gradle插件一起使用我导入了" HelloWorldFxml"示例项目。然后我运行了Gradle任务" ./ gradlew androidInstall"像README文件这样的项目告诉我。但不幸的是,任务无法执行,因为Gradle无法找到我的JDK:

http://forumbilder.se/EADKO/asdasd.png

即使我的JAVA_HOME系统变量设置正确,我之前也遇到过问题:

http://forumbilder.se/EADKP/asdasdasdasd.png

任何可以提供一些见解的人都可以解决这个问题吗?

版本: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"在示例项目上:

enter image description here

4 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

基本笔记

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

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

虽然这个答案在他的特定问题上可能无助于OP,但它肯定会对他和其他人有所帮助,因为一切都非常简化。

新方法

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

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

您可以找到其他基本样本here,并下载存储库here

您不需要编辑单行,只需在命令行上,在示例的根目录中键入此设备,并连接您的设备:

gradlew androidInstall

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

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

答案 2 :(得分:0)

检查Eclipse中的Java设置:

Window -> Preferences
Java -> Installed JREs

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

Eclipse知道JDK后,确保项目的设置使用JDK作为编译器,Gradle插件应该可以从那里获取设置。

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

答案 3 :(得分:-1)

也有这个问题。
我的亲戚:

-Windows 7
   -Dalvik SDK(dalvik-sdk-8u60-b5)
   -JDK 8(最新版本8_60 / 重要提示:JDK不是JRE

    - 我还尝试了Dalvik-SDK下载提供的 HelloAndroid 项目。


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

<强>#1
创造了这些亲人。就像这篇文章中描述的那样:
How to set java_home on Windows 7?
所以为了确保一切,我用相同的路径创建了两者。因为我不确切知道gradle使用了哪一个。

<强>#2
这真是帮助我的黑客。在StackOverflow中也发现了这一点。 在此行的android{..}内填写 build.gradle

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

it looks like that


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