2017-09-05 5 views
0

J'ai une application Javafx et j'essaye de porter sur android en utilisant le plugin gluon pour netbeans. Je reçois actuellement cette erreur:Erreur lors de la compilation de JavaFx à android en utilisant Gluon

FAILURE: Build failed with an exception. 
  • Qu'est-ce qui a mal tourné: Échec de l'exécution de la tâche ': createMainDexList'.

    Exception in thread "main" com.android.dx.cf.iface.ParseException: InvokeDynamic not supported at com.android.dx.cf.cst.ConstantPoolParser.determineOffsets(ConstantPoolParser.java:226) at com.android.dx.cf.cst.ConstantPoolParser.parse(ConstantPoolParser.java:132) at com.android.dx.cf.cst.ConstantPoolParser.parseIfNecessary(ConstantPoolParser.java:124) at com.android.dx.cf.cst.ConstantPoolParser.getPool(ConstantPoolParser.java:115) at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:491) at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) at com.android.dx.cf.direct.DirectClassFile.parseToEndIfNecessary(DirectClassFile.java:397) at com.android.dx.cf.direct.DirectClassFile.getAttributes(DirectClassFile.java:311) at com.android.multidex.MainDexListBuilder.hasRuntimeVisibleAnnotation(MainDexListBuilder.java:191) at com.android.multidex.MainDexListBuilder.keepAnnotated(MainDexListBuilder.java:167) at com.android.multidex.MainDexListBuilder.(MainDexListBuilder.java:121) at com.android.multidex.MainDexListBuilder.main(MainDexListBuilder.java:91) at com.android.multidex.ClassReferenceListBuilder.main(ClassReferenceListBuilder.java:58) ...while preparsing cst 000e at offset 00000047 ...while parsing de/jensd/fx/glyphs/control/skin/GlyphCheckBoxSkin.class

  • Essayez: option Exécuter avec --stacktrace pour obtenir la trace de la pile. Exécutez avec l'option --debug pour obtenir plus de sortie de journal.

BUILD FAILED

Je jdk 8 (64 bits) Course à pied, ce qui est mon fichier build.gradle:

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

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

mainClassName = 'com.mypackage.MyMainClass' 
ext.CHARM_DOWN_VERSION = "1.0.0" 

dependencies { 
compile 'com.gluonhq:charm:3.0.0' 

compile 'com.jfoenix:jfoenix:1.6.0' 
compile 'de.jensd:fontawesomefx-emojione:2.2.7-2' 
compile 'de.jensd:fontawesomefx-fontawesome:4.7.0-5' 
compile 'de.jensd:fontawesomefx-icons525:3.0.0-4' 
compile 'de.jensd:fontawesomefx-materialdesignfont:1.7.22-4' 
compile 'de.jensd:fontawesomefx-materialicons:2.2.0-5' 
compile 'de.jensd:fontawesomefx-octicons:4.3.0-5' 
compile 'de.jensd:fontawesomefx-weathericons:2.0.10-5' 
compile 'de.jensd:fontawesomefx-controls:8.15' 
compile 'org.controlsfx:controlsfx:8.40.11' 

compile 'org.xerial:sqlite-jdbc:3.8.6' 

compile group: 'org.json', name: 'json', version: '20090211' 

runtime files('lang') 


androidRuntime 'com.gluonhq:charm-android:3.0.0' 
iosRuntime 'com.gluonhq:charm-ios:3.0.0' 
desktopRuntime 'com.gluonhq:charm-desktop:3.0.0' 

compile "com.gluonhq:charm-down-common:$CHARM_DOWN_VERSION" 
desktopRuntime "com.gluonhq:charm-down-desktop:$CHARM_DOWN_VERSION" 
androidRuntime "com.gluonhq:charm-down-android:$CHARM_DOWN_VERSION" 
iosRuntime "com.gluonhq:charm-down-ios:$CHARM_DOWN_VERSION" 
} 

jfxmobile { 
android { 
    manifest = 'src/android/AndroidManifest.xml' 
    androidSdk='C:\\AndroidSDK' 
} 
ios { 
    infoPList = file('src/ios/Default-Info.plist') 
    forceLinkClasses = [ 
      'com.gluonhq.**.*', 
      'io.datafx.**.*', 
      'javax.annotations.**.*', 
      'javax.inject.**.*', 
      'javax.json.**.*', 
      'org.glassfish.json.**.*' 
    ] 
} 
} 

S'il vous plaît aider!

J'ai le 64bit de jdk8 en cours d'exécution et pas 32bit.

+0

Copie possible de [Échec de construction pour l'application JavaFX android à l'aide du plugin mobile de gluon] (https://stackoverflow.com/questions/42012132/build-failure-for-javafx-android-app-using-the-gluon- mobile-plugin) –

+0

J'ai lu le post, j'ai le 64bit de jdk8 en cours d'exécution donc ce n'est pas le problème. Je vous remercie. –

Répondre

0

J'ai changé gluon classpath de

classpath 'org.javafxports:jfxmobile-plugin:1.0.9' 

Pour classpath 'org.javafxports: jfxmobile-plugin: 1.3.3'

Et j'ai pu construire le apk.