android - Gradle 3.0 构建错误 : Execution failed for task ':app:transformClassesWithDesugarForDebug'

标签 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'.

我已经多次尝试 Clean Project > Rebuild Project,但没有帮助。

这是我的构建配置:

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 中看到的,所有支持依赖项是同一个版本。

最佳答案

更新 Gradle 版本:

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

应用插件

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

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

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

enter image description here

关于android - Gradle 3.0 构建错误 : Execution failed for task ':app:transformClassesWithDesugarForDebug' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47865620/

相关文章:

java - 无法将字符串转换到 Android map

android - 具有 Windows NTLM 身份验证的 Office-365-SDK-for-Android

java - 如何使用protobuf-gradle-plugin指定Protobuf路径

java - 在另一个项目中使用您自己的Java库?

android - 为什么Project的build.gradle没有显示?

plugins - Gradle插件开发错误传递参数

java - 如何在 Android 8 的主屏幕上创建快捷方式?

android - notifyDataSetChanged() 在带有复选框列表的 BaseAdapter 中不起作用

spring-boot - 如何使用Gradle + Spring boot运行多个配置文件?

java - Gradle Uber (Fat) Jar 和运行时中的 java.lang.NoClassDefFoundError