2016-07-20 12 views
0

hoffe, Sie können mir helfen. Ich habe ein großes Problem, meine App auf Genymotion Emulator und auf meinem echten Gerät zu laufen, es ist ein paar Tage her, seit ich daran festhalte. Das Problem ist, dass ich die MultiDex error bekomme. Ich folge bereits diesen zwei Schritten auf Multidex, fügte ich die multiDexEnabled true Zeile auf meiner build.gradle Datei hinzu und ich füge auch die Klasse von der Bibliothek multidex Unterstützung auf meinem Manifest hinzu.Wie bereinige ich ein Ionenprojekt? (MultiDex Fehler)

Nach ein paar Stunden der Suche entdeckte ich, dass ich mein Projekt aufräumen muss, um zu verhindern, dass es über die von Android unterstützten 65k-Methoden (MultiDex-Fehler) kommt, aber (es gibt immer ein "aber") Ich bin neu über die ionische Entwicklung und ich weiß nicht, was ich löschen kann und was ich nicht löschen kann, was wichtig ist und was nicht wichtig ist.

Nach ein paar Änderungen versucht, es zu lösen, der Fehler von MultiDex zu DexDebug geändert, ich bin kein Experte, aber ich denke, es ist fast das Gleiche. Tut mir leid, wenn ich falsch liege, es ist nur eine Vermutung.

Kann mir jemand helfen, das zu verstehen und mir helfen, dieses Problem zu lösen?

Da ich nicht erlaubt ist noch Bilder zu verwenden, die Druckanzeige, die meine Projektstruktur zeigt, die Fehler, und der Emulator (ohne Zeichen der App) gebucht here

Antwort

1

Der Fehler in Ihrem geschrieben Screenshot sagt:

java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 

Ihre com/android/dx/command/Main Klasse (die Teil von dx Werkzeug ist), dass Ihr Build-Skript versucht wurde mit Java 1.8 (major.minor Version 52.0) zusammengestellt aufzurufen, während es mit JDK 1.7 ausgeführt wird (wie Sie kann im Protokoll sehen).

Sie haben zwei Möglichkeiten, diesen Fehler zu beheben:

  • JDK installieren 1.8 und lassen Gradle es verwenden (zum Beispiel durch JAVA_HOME auf 1,8 Pfad zeigt).

oder

  • Revert buildtools zu einer älteren Version, zum Beispiel buildToolsVersion "23.0.2".
+0

Vielen Dank für Ihre Hilfe, das hat funktioniert. Ich habe den ersten Weg gemacht. Jetzt bekomme ich einen weiteren Fehler, ich werde versuchen, das herauszufinden, oder sogar hier posten ... aber für jetzt bin ich sehr dankbar. – Rafael

+0

Gerne helfen und willkommen bei Stack Overflow. Wenn diese Antwort oder eine andere Lösung Ihr Problem behoben hat, markieren Sie es als akzeptiert. Weitere Informationen finden Sie in der [Hilfe] (http://stackoverflow.com/help/someone-answers). –