Gradle 3.0构建错误:任务执行失败':app:transformClassesWithDesugarForDebug'

时间:2017-12-18 09:43:05

标签: android gradle build.gradle android-studio-3.0 android-gradle-3.0

将项目迁移到'com.android.tools.build:gradle:3.0.1'。从那时起,我一直从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'.

我试过清洁项目>多次重建项目,但没有帮助。

这是我的构建配置:

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'

如果需要更多详细信息,请与我们联系。我已经尝试了所有关于这个问题的SO问题,没有任何效果。需要对这个问题有一个全新的视角。我还在顶级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
}

另外,在implementation 'com.android.support:recyclerview-v7:26.1.0'我收到一个警告,要使用相同的版本,你可以在我的gradle中看到所有支持依赖项都是相同的版本。

2 个答案:

答案 0 :(得分:0)

更新Gradle版本:

  

Android插件3.0.0需要Gradle version 4.1或更高版本。如果您使用Android Studio 3.0或更高版本打开现有项目,请按照提示自动将现有项目更新为兼容版本的Gradle。

     

要手动更新Gradle,请将gradle-wrapper.properties中的网址修改为以下内容:

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

应用插件

  

如果您使用Android Studio 3.0或更高版本打开现有项目,       按照提示自动将项目更新到最新       Android插件的版本。要手动更新项目,请包含maven repo并在项目级build.gradle文件中更改插件版本,如下所示:

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'
}

}

查看Gradle版本:文件>项目结构>项目

同时检查:
https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html

enter image description here

答案 1 :(得分:0)

使用Android Studio 3.1及其构建视图,我开始收到更全面的错误Multiple dex files define Lorg/apache/http/Header;。因此,我检查了类org.apache.http.Header的用法,这使我了解到我有多个apache.http库,并在删除implementation files('libs/org.apache.http.legacy.jar')之后构建工作。