10

I am getting the following error since I updated the android studio from 2.0 to 2.1.

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.

I tried adding the following snippet in build.gradle, but still the issue persists

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

I saw some of the questions similar to this, but neither of the questions answered. Can anyone help me to solve this? Thanks in advance.

Suresh Kumar
  • 2,014
  • 3
  • 19
  • 32

3 Answers3

33

Try

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

in the main build.gradle file

sbeliakov
  • 2,169
  • 1
  • 20
  • 37
2

Remove the dependencies from build.gradle, comment relevant code and then compile and clean your project.

After a successful clean add the dependencies again and uncomment what you commented after removing the dependencies earlier.

Viral Patel
  • 32,418
  • 18
  • 82
  • 110
1

Possibile duplicate of Android: Dex cannot parse version 52 byte code. The most quoted answer solved the problem for me.
I added compileOptions and jackOptions as shown below to my build.gradle to use JDK 1.8.

android {
    ...
    defaultConfig {
        ...        
        jackOptions {
            enabled true
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
Matteo Milesi
  • 270
  • 3
  • 9