2016-05-07 1 views
10

Ich erhalte den folgenden Fehler seit ich das Android Studio von 2.0 auf 2.1 aktualisiert habe.Android Studio 2.1 Fehler beim Konvertieren von Bytecode in dex

Error:Error converting bytecode to dex:

Cause: Dex cannot parse version 52 byte code. This is caused by library dependencies that have been compiled using Java 8 or above. If you are using the 'java' gradle plugin in a library submodule add targetCompatibility = '1.7' sourceCompatibility = '1.7' to that submodule's build.gradle file.

Ich habe versucht, den folgenden Code-Schnipsel in build.gradle Zugabe, aber immer noch das Problem weiterhin besteht

compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_7 
     targetCompatibility JavaVersion.VERSION_1_7 
    } 

ich einige der Fragen, ähnlich wie dies sah, aber keine der Fragen beantwortet. Kann mir jemand helfen, das zu lösen? Danke im Voraus.

+0

Haben Sie Java-only-Module in Ihrem Projekt? –

+0

Nein. Ich verwende keine solchen Module. Ich hatte dies gelöst, indem ich das SDK durch das alte ersetzt habe. Jetzt funktioniert das Studio gut. –

+0

Welches SDK du ersetzt hast, um das zu lösen, bitte kannst du erklären, wie du es gelöst hast. – Adi

Antwort

33

Versuchen

allprojects { 
    tasks.withType(JavaCompile) { 
     sourceCompatibility = "1.7" 
     targetCompatibility = "1.7" 
    } 
} 

in der Haupt build.gradle Datei

+1

Dies löste das Problem. – superUser

+0

rettete mir ein paar Stunden Schmerzen. Vielen Dank! – Adrian

+0

Funktioniert gut! Vielen Dank. –

2

die Abhängigkeiten von build.gradle entfernen, einen entsprechenden Code kommentieren und dann kompilieren und Ihr Projekt reinigen.

Nach einer erfolgreichen Bereinigung fügen Sie die Abhängigkeiten erneut hinzu und entfernen Sie das Kommentarzeichen, das Sie nach dem Entfernen der Abhängigkeiten zuvor kommentiert haben.

1

Mögliches Duplikat von Android: Dex cannot parse version 52 byte code. Die meist zitierte Antwort löste das Problem für mich.
Ich habe compileOptions und jackOptions, wie unten gezeigt, zu meinem build.gradle hinzugefügt, um JDK 1.8 zu verwenden.

android { 
    ... 
    defaultConfig { 
     ...   
     jackOptions { 
      enabled true 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 
}