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.
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.