2017-02-02 5 views
0

Ich habe gerade ein neues gluon Mobile Multi View-Projekt mit FXML gestartet und versucht, es auszuführen, bevor etwas geändert wurde (abgesehen von der Aktualisierung der jfxmobile-plugin Version in der build.gradle Datei von 1.2.0 bis 1.3.2). Es funktioniert gut auf dem Desktop, aber wenn ich versuche, die Androideninstall Gradle Task (mit meinem Android-Handy verbunden) auszuführen, schlägt es fehl. Es gibt mir die folgende Fehlermeldung:Buildfehler für JavaFX android app mit dem gluon mobile plugin

: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 

meine build.gradle Datei:

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' 
    } 
} 

Betriebssystem: Windows 10.

Bitte lassen Sie mich wissen, ob weitere Informationen benötigt werden, die zur Bestimmung Ursache des Problems. Vielen Dank.

gradlew --info android log:

http://pastebin.com/yNZbZcVk

JDK version

+0

Können Sie 'gradlew.bat --info android' laufen lassen und das Protokoll veröffentlichen? –

+0

Vielen Dank für die schnelle Antwort. Ich habe das Log in meinem Beitrag hinzugefügt (verwende pastebin wegen der Zeichenbeschränkung auf dieser Seite). Ich habe auch die vorgeschlagene Lösung in diesem Beitrag http://stackoverflow.com/questions/30473854/error-after-running-the-default-gluon-project-dex- verfolgt ohne Glück. – Jonathan

+0

Sie führen eine 32-Bit-JDK-Version auf einem 64-Bit-Betriebssystem aus, nicht wahr? Können Sie ein 64-Bit-JDK ausprobieren? –

Antwort

1

Basierend auf dem Protokoll, ich bemerkt, dass Sie auf einem 64-Bit-OS ein 32-Bit-JDK wurden unter Verwendung von:

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 ... 

Standardmäßig ist das Jfxmobile-Plugin sets 2 GB für die JVM Xmx-Option auf Android, und das auf einem 32 Bit OS, das nicht zugeordnet werden kann, setzt die Lösung einen niedrigeren Wert.

auf dieser line Code basiert, können Sie einstellen:

android { 
    dexOptions { 
      javaMaxHeapSize '1g' 
    } 
} 

Oder vielleicht ein bisschen mehr (1,5 g oder so?).

Beachten Sie, dass dies gelöst wird, wenn Sie ein 64-Bit-JDK verwenden. Stellen Sie sicher, dass Sie Ihre Umgebungsvariable JAVA_HOME entsprechend aktualisieren, da Sie den Arbeitsspeicher für Ihren Prozess nicht reduzieren müssen.

+0

Ich hatte JDK 32 und 64 Bit installiert. Habe das 32-Bit-JDK los und jetzt funktioniert es, ohne die Heap-Größe zu verringern. Danke noch einmal. – Jonathan

Verwandte Themen