2016-03-11 11 views
10

Ich habe ein Problem mit meinem Android-Projekt und Gradle 1.5. Ich bin nicht in der Lage, meine Abhängigkeiten zu kompilieren, die ich hinzugefügt habe. Zur Zeit entwickle ich eine Java EE-Anwendung und möchte eine EJB-Suche von meinem Android-Gerät zu meinem laufenden Wildfly10 durchführen.Android Studio - Gradle 1.5 - Core-Bibliothek Option

Ich weiß, ein Lookup von einem Android-Gerät wäre vielleicht nicht die beste Option, ein REST-Webservice wäre besser, aber das ist nicht der Punkt hier.

In meinem Projekt habe ich ein neues Modul hinzugefügt, das alle meine externen Bibliotheken enthält, und ich habe dieses Modul zu meiner: app als Abhängigkeit von "kompilieren" hinzugefügt. Alles funktioniert gut, bis ich das jboss-client.jar hinzufügen möchte. Während Dex beschwert er sich über die javax.transaction. *.

Was ich jetzt

    getan
  • multiDexEnabled wahr
  • hinzugefügt preDexLibraries falsch
  • das Spiel mit allen anderen dex Optionen hinzugefügt
  • auch dieses habe ich versucht: Android dx tool
  • diese : Android Studio ignore --core-library flag
  • a nd stellen Sie die --core-Bibliothek Flagge in Android Studio Einstellungen

Warum sie nicht arbeiten

    1. Lösung: Ich änderte meine dx.bat in jedem Build-Tool, das ich habe .. Nichts hat sich geändert. Es funktioniert einfach nicht
    1. Lösung: com.android.build.gradle.tasks.Dex ist nicht bekannt (und ich habe keine Ahnung, wie man hinzufügen), coreLibrary ist nicht unterstützt mit Gradle 1,5
    1. Lösung: durch gradle

Die Projekte minSDK ist 19 und targetSDK 23 mit buil vollständig ignoriert d-tool 23.0.2 Ich rief die dx.bat von der Kommandozeile mit den gleichen Parametern wie grddle, ich habe nur die --core-Bibliothek arg hinzugefügt und es funktioniert! Aber das löst das Problem in Android Studio und Gradle nicht.

Kann mir bitte jemand helfen?

UPDATE: Okay, ich habe mir den Quellcode von com.android.dx.command.Main angesehen. Es gibt eine öffentliche innere Klasse "Arguments", die (apperently) die Argumente enthält, die verwendet werden können, auch die coreLibrary = false. Jetzt muss ich nur noch wissen, wie ich es modifiziere. Weiss es jemand?

Mit freundlichen Grüßen, Chris

+0

Sind Sie der MultiDexApplication Klasse sowie multiDexEnabled wahr mit/Verlängerung? –

Antwort

3

Das ist für mich gearbeitet:

dexOptions { 
    preDexLibraries = false 
    additionalParameters =["--core-library"] 
    } 
+1

Du hast meinen Tag gerettet !! Ich war noch 8 Monate später mit dem Problem konfrontiert ... –

+0

Ich bin froh, dass ich helfen konnte! Ich habe es zu einem Kopfgeld gemacht, weil ich selbst feststeckte. Glücklicherweise habe ich das zufällig gefunden. – Yrlec