2016-05-03 12 views
0

ich genau dieses Problem mit, wenn Jersey (Client) in einem Gluon App zu verwenden versuchen: https://bitbucket.org/javafxports/android/issues/68/proguard-complains-about-duplicate-classesGluon: Doppeltes Reißverschluss

Das Problem markiert als behoben ist. Bedeutet das, dass es funktionieren sollte (ohne einen Workaround)? Meine App funktioniert auf dem iPad (wenn auch mit vielen Warnungen), das Problem tritt nur auf, wenn versucht wird, auf Android zu laufen.

Antwort

0

Für den Moment werden die android Aufgaben fehlschlagen, wenn Sie versuchen, dieselbe Klasse zweimal der Dex-Datei hinzuzufügen.

Wenn Sie eine Abhängigkeit hinzufügen, die eine Klasse bereits in der rt.jar hinzufügt, schlägt das fehl.

Normalerweise werden beim Hinzufügen von Jersey-Abhängigkeiten javax.annotation Klassen aus javax.annotation-api-1.2.jar hinzugefügt, während einige davon bereits in der JDK vorhanden sind.

Die Lösung, falls Sie nicht den Quellcode zum Entfernen dieser duplizierten Klassen haben, schließt einige Gruppen aus den Abhängigkeiten aus.

Dies funktioniert für mich zumindest android Aufgabe ausgeführt wird, aber ohne weitere Prüfung mit einem realen Fall:

dependencies { 
    compile 'com.gluonhq:charm:2.2.0' 
    compile ('org.glassfish.jersey.core:jersey-client:2.22.2') { 
     exclude group: 'javax.annotation' 
     exclude group: 'javax.inject' 
    } 

    androidRuntime 'com.gluonhq:charm-android:2.2.0' 
    iosRuntime 'com.gluonhq:charm-ios:2.0.0' 
    desktopRuntime 'com.gluonhq:charm-desktop:2.0.0' 
} 
+0

Das hat mir ein wenig weitergekommen, aber ich jetzt die folgende Fehlermeldung erhalten: nicht installieren/Benutzer/Steven/Library/Mobile Dokumente/com ~ Apfel ~ CloudDocs/HoGent/Projekte II/JavaFX Client (Gluon)/build/javafxports/android/JavaFX Client (Gluon) .apk com.android.ddmlib.InstallException: Kann nicht Laden Sie einige APKs \t bei com.android.ddmlib.Device.installPackages (Device.java:913) \t bei com.android.builder.testin g.ConnectedDevice.installPackages (ConnectedDevice.java:105) \t bei com.android.builder.testing.ConnectedDevice $ $ Install 1.call (Unknown Source) \t ... –

+0

Vielleicht neuer Fehler ist nicht auf die vorigen verwandt , aber Sie haben es nicht gesehen, weil die Aufgabe früher gescheitert ist. Wenn dies der Fall ist, erstellen Sie bitte eine andere Frage. Wenn es zusammenhängt, redigiere deine Frage und poste den Stacktrace, damit wir sehen können, was passiert. –

+0

Ich nehme an, es ist verwandt, weil ich nie diese Ausnahme mit anderen Apps hatte. Der vollständige Stacktrace ist hier: http://pastebin.com/JFxqbKrf –