4

Migrated the project to 'com.android.tools.build:gradle:3.0.1'. Since then I have been getting this error from gradle

Exception in thread "main" java.lang.RuntimeException: Method code too large!
at org.objectweb.asm.MethodWriter.a(Unknown Source)
at org.objectweb.asm.ClassWriter.toByteArray(Unknown Source)
at com.google.devtools.build.android.desugar.CoreLibraryRewriter$UnprefixingClassWriter.toByteArray(CoreLibraryRewriter.java:152)
at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:403)
at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:326)
at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:280)
at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:584)

FAILED
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:transformClassesWithDesugarForDebug'.

I have tried Clean Project > Rebuild Project multiple times, it does not help.

Here is my build config:

apply plugin: 'com.android.application'

buildscript {
    configurations.classpath.exclude group: 'com.android.tools.external.lombok'
}

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    flavorDimensions "default"
    dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
}
defaultConfig {
    applicationId "com.example.shirish"
    minSdkVersion 15
    targetSdkVersion 24
    multiDexEnabled true
    versionCode 140
    versionName "3.30"
    vectorDrawables.useSupportLibrary = true

}
lintOptions {
    checkReleaseBuilds false
    abortOnError false
}
packagingOptions {
    exclude 'META-INF/rxjava.properties'
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

buildTypes {
    debug {
        testCoverageEnabled = false
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }

}
    lintOptions {
        abortOnError false
    }
}

repositories {
    maven { url "http://repo.commonsware.com.s3.amazonaws.com" }
    maven { url "https://jitpack.io" }
    maven { url "http://dl.bintray.com/pixplicity/android" }
    maven {
        url "http://s3.amazonaws.com/repo.commonsware.com"
    }
    maven { url 'https://zendesk.jfrog.io/zendesk/repo' }
    maven {
        url 'https://maven.google.com'
    }
}

sourceSets {
    main {
        java {
            exclude     'com/google/gdata/util/common/base/UnicodeEscaper$1.class'
        exclude 'com/google/gdata/util/common/base/Escaper.class'
        }
    }
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation files('libs/commons-net-3.5.jar')
    implementation files('libs/org.apache.http.legacy.jar')
    implementation files('libs/PayU-release.jar')
    implementation files('libs/YouTubeAndroidPlayerApi.jar')
    implementation files('libs/gdata-contacts-3.0.jar')
    implementation files('libs/gdata-client-1.0.jar')
    implementation files('libs/gdata-core-1.0.jar')

    implementation project(path:':beewisesdk', configuration:'default')

    implementation('com.google.code.gson:gson:2.8.2') {
        exclude group: 'com.google.gdata'
    }
    implementation('ch.acra:acra:4.7.0') {
        exclude group: 'org.json'
    }

    implementation group: 'com.zendesk', name: 'sdk', version: '1.9.1.1'

    implementation 'com.android.support:multidex:1.0.2'
    implementation 'com.balysv:material-ripple:1.0.1'
    implementation 'de.hdodenhof:circleimageview:2.1.0'
    implementation 'com.wang.avi:library:1.0.5'
    implementation 'com.google.guava:guava:19.0'
    implementation 'com.github.d-max:spots-dialog:0.4@aar'
    implementation 'com.iceteck.silicompressorr:silicompressor:1.1.0'
    implementation 'id.zelory:compressor:2.1.0'
    implementation 'com.github.jakob-grabner:Circle-Progress-View:v1.2.9'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.github.ParkSangGwon:TedPicker:v1.0.10'
    implementation 'com.facebook.android:facebook-android-sdk:4.28.0'
    implementation 'com.cloudinary:cloudinary-android:1.4.2'
    implementation 'com.segment.analytics.android:analytics:4.3.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.squareup.retrofit2:retrofit:2.3.0'
    implementation 'com.squareup:otto:1.3.8'
    implementation 'com.jakewharton:butterknife:8.1.0'
    implementation 'com.kbeanie:multipicker:1.1.3@aar'
    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
    implementation 'com.github.delight-im:Android-AdvancedWebView:v3.0.0'
    implementation 'com.google.android.gms:play-services-auth:11.4.2'
    implementation 'com.google.android.gms:play-services-gcm:11.4.2'
    implementation 'com.google.android.gms:play-services-location:11.4.2'
    implementation 'com.google.android.gms:play-services-places:11.4.2'
    implementation 'com.beardedhen:androidbootstrap:2.3.0'
    implementation 'com.webengage:android-sdk:3.1.0'
    implementation 'com.google.android.gms:play-services-analytics:11.4.2'

    // Google Api Client library and Android extension
    implementation ('com.google.api-client:google-api-client:1.23.0') {
        exclude group: 'com.google.guava'
    }
    implementation ('com.google.api-client:google-api-client-android:1.23.0') {
        exclude group: 'com.google.guava'
    }
    //People REST API access
    implementation ('com.google.apis:google-api-services-people:v1-rev159-1.23.0') {
        exclude group: 'com.google.guava'
    }

    implementation 'com.droidninja:filepicker:1.0.8'
    implementation 'com.razorpay:checkout:1.2.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.8.1'
    implementation 'org.greenrobot:eventbus:3.0.0'

    implementation 'com.github.MAXDeliveryNG:slideview:1.0.1'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.google.android.gms:play-services-tagmanager:11.4.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.3'
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'com.jakewharton.rxrelay2:rxrelay:2.0.0'
    implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
    implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
    implementation 'com.google.firebase:firebase-core:11.4.2'
    implementation 'com.google.firebase:firebase-perf:11.4.2'
    implementation 'com.annimon:stream:1.1.8'
    implementation 'com.google.dagger:dagger:2.8'
    implementation 'javax.inject:javax.inject:1'

    testImplementation 'junit:junit:4.12'


    annotationProcessor 'com.google.dagger:dagger-compiler:2.8'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.1.0'
    implementation 'javax.annotation:jsr250-api:1.0'
}


android { sourceSets { main { java.srcDirs = ['src/main/java', 'app/model'] } } }

android { sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/xml'] } } }
android {
sourceSets { main { res.srcDirs = ['src/main/res', 'src/main/res/anim'] } }
}
apply plugin: 'com.google.gms.google-services'

Please, let me know if any more details are required. I have tried all the SO questions regarding this issue, nothing works. Need a fresh perspective on this problem. I am also including the dependencies at top-level build.gradle

dependencies {

    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath 'com.google.gms:google-services:3.1.1'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

Also, at implementation 'com.android.support:recyclerview-v7:26.1.0' I am getting a warning to use the same version and as you can see in my gradle all support dependencies are the same version.

Shirish Kadam
  • 109
  • 1
  • 1
  • 7

2 Answers2

0

Update Gradle version:

Android plugin 3.0.0 requires Gradle version 4.1 or higher. If you're opening an existing project using Android Studio 3.0 or later, follow the prompts to automatically update an existing project to the compatible version of Gradle.

To update Gradle manually, edit the URL in gradle-wrapper.properties to the following:

distributionUrl=\
 https\://services.gradle.org/distributions/gradle-4.1-all.zip

Apply the plugin

If you're opening an existing project using Android Studio 3.0 or later, follow the prompts to automatically update your project to the latest version of the Android plugin. To manually update your project, include the maven repo and change the plugin version in your project-level build.gradle file as follows:

buildscript {
   repositories {
    ...
    // You need to add the following repository to download the
    // new plugin.
    google()
}

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.1'
}

}

For check Gradle Version : File > Project Structure > Project

Also check this :
https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

enter image description here

jakir hussain
  • 316
  • 2
  • 18
  • 1
    Please read the question carefully, all these migration steps have been performed. The error was encountered while executing the 'app' module. This answer does not contribute to the solution in any way. – Shirish Kadam Dec 18 '17 at 11:22
0

With Android Studio 3.1 and its build view I started getting a more comprehensive error Multiple dex files define Lorg/apache/http/Header;. Hence I checked the usage of the Class org.apache.http.Header which led me to understand that I had multiple apache.http libs and after removing implementation files('libs/org.apache.http.legacy.jar') the build worked.

Shirish Kadam
  • 109
  • 1
  • 1
  • 7