Build 失败的 JavaFX android 应用程序使用的胶子移动插件

标签: Java Android JavaFX
发布时间: 2017/3/19 18:29:47
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我刚开始一个新的胶子移动多 view FXML 的项目,并试图运行它 (除了更新中将 build.gradle 文件从 1.2.0 到 1.3.2 的 jfxmobile 插件版本) 的任何更改之前。 它的优良工程在桌面上,但当我尝试运行 androidinstall gradle 任务 (与我 android 电话连接) 失败。它给了我以下错误︰

:mergeClassesIntoJar
:shrinkMultiDexComponents
:createMainDexList
:writeInputListFile
[ant:java] Java Result: 1
:dex FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':dex'.
> org.gradle.api.GradleException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

我的 build.gradle 文件︰

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.3.2'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'com.gluonapplication.GluonApplication'

dependencies {
    compile 'com.gluonhq:charm:4.2.0'
}

jfxmobile {
    downConfig {
        version = '3.1.0'
        // Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
        plugins 'display', 'lifecycle', 'statusbar', 'storage'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
    }
}

操作系统︰ Windows 10。

请让我知道是否需要任何额外的信息来确定问题的原因。谢谢。

gradlew — — 信息 android log :

http://pastebin.com/yNZbZcVk

JDK version

解决方法 1:

基于你 log ,我注意到您正在使用 32 位 JDK 上 64 位操作系统︰

Starting process 'command 'C:\Program Files (x86)\Java\jdk1.8.0_101\bin\java.exe''. Working directory: D:\Android_Projects\GluonMobile-MultiViewProjectwithFXML Command: C:\Program Files (x86)\Java\jdk1.8.0_101\bin\java.exe ...

默认情况下,jfxmobile 插件,设置为 JVM Xmx 2 GB 选项上 Android ,并考虑到在 32 位操作系统的分配不是可能的解决方案设置较低的值。

基于下面这代码,您可以设置︰

android { 
     dexOptions { 
          javaMaxHeapSize '1g' 
     }
}

或也许一点点更多 (1.5 g 左右吗?)。

请注意,这将得到解决,是否你使用 64 位 JDK。请确保您更新您的 JAVA_HOME environment 变量相应地,你不会需要减少内存为你 process

赞助商