Gradle 3.0 Build Error : Execution failed for task ':app:transformClassesWithDesugarForDebug'
Gradle 3.0 Build Error : Execution failed for task ':app:transformClassesWithDesugarForDebug'
已将项目迁移到 '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.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
使用 Android Studio 3.1 及其构建视图时,我开始收到更全面的错误 Multiple dex files define Lorg/apache/http/Header;
。因此,我检查了 Class org.apache.http.Header
的用法,这让我明白我有多个 apache.http 库,并且在删除 implementation files('libs/org.apache.http.legacy.jar')
之后构建工作正常。
已将项目迁移到 '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.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
requiresGradle version 4.1
or higher. If you're opening an existing project usingAndroid 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-levelbuild.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
使用 Android Studio 3.1 及其构建视图时,我开始收到更全面的错误 Multiple dex files define Lorg/apache/http/Header;
。因此,我检查了 Class org.apache.http.Header
的用法,这让我明白我有多个 apache.http 库,并且在删除 implementation files('libs/org.apache.http.legacy.jar')
之后构建工作正常。