将项目迁移到'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中看到所有支持依赖项都是相同的版本。
答案 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
答案 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')
之后构建工作。