Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error converting bytecode to dex: Cause: default or static interface method used without --min-sdk-version >= 24

I'm getting the below error while trying to build a project in AS 3.0 canary 5. Any ideas what causes it?

build.gradle:

dependencies {
    compile 'com.google.dagger:dagger:2.11'
    compile 'com.google.dagger:dagger-android:2.11'
    compile 'com.google.dagger:dagger-android-support:2.11'
    compile 'android.arch.lifecycle:runtime:1.0.0-alpha3'
    compile 'android.arch.lifecycle:extensions:1.0.0-alpha3'
    compile 'android.arch.persistence.room:runtime:1.0.0-alpha3'
    compile 'biz.laenger.android:vpbs:0.0.4'
    compile 'commons-io:commons-io:2.5'
    compile 'com.andreabaccega:android-form-edittext:1.2.1@aar'
    compile 'com.android.support:appcompat-v7:25.4.0'
    compile 'com.android.support:cardview-v7:25.4.0'
    compile 'com.android.support:design:25.4.0'
    compile 'com.android.support:multidex:1.0.1'
    compile 'com.android.support:percent:25.4.0'
    compile 'com.android.support:recyclerview-v7:25.4.0'
    compile 'com.android.support:support-media-compat:25.4.0'
    compile 'com.android.support:support-v4:25.4.0'
    compile 'com.getbase:floatingactionbutton:1.10.1'
    compile 'com.github.piasy:GlideImageLoader:1.2.3'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.google.android.gms:play-services-location:11.0.2'
    compile 'com.google.android.gms:play-services-maps:11.0.2'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.google.firebase:firebase-analytics:11.0.2'
    compile 'com.google.firebase:firebase-crash:11.0.2'
    compile 'com.google.firebase:firebase-messaging:11.0.2'
    compile 'com.google.guava:guava:22.0'
    compile 'com.romandanylyk:pageindicatorview:0.0.6'
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile 'de.hdodenhof:circleimageview:2.1.0'
    compile 'joda-time:joda-time:2.9.6'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
    annotationProcessor 'android.arch.lifecycle:compiler:1.0.0-alpha3'
    annotationProcessor 'android.arch.persistence.room:compiler:1.0.0-alpha3'
}

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.0'


defaultConfig {
    minSdkVersion 16
    targetSdkVersion 26
    multiDexEnabled true
}

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
}

Error:

Error:Error converting bytecode to dex:
Cause: default or static interface method used without --min-sdk-version >= 24
Error:com.android.dx.cf.code.SimException: default or static interface method used without --min-sdk-version >= 24
Error:  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
Error:  at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
Error:  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
Error:  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
Error:  at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
Error:  at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
Error:  at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
Error:  at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:146)
Error:  at com.android.builder.dexing.DxDexArchiveBuilder.convertClassFileInput(DxDexArchiveBuilder.java:73)
Error:  at com.android.builder.dexing.DexArchiveBuilder.convert(DexArchiveBuilder.java:50)
Error:  at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransformCallable.lambda$cacheMissAction$0(DexArchiveBuilderTransformCallable.java:237)
Error:  at com.android.builder.utils.FileCache.lambda$createFile$1(FileCache.java:260)
Error:  at com.android.builder.utils.FileCache.lambda$null$5(FileCache.java:443)
Error:  at com.android.builder.utils.SynchronizedFile.doActionWithMultiProcessLocking(SynchronizedFile.java:265)
Error:  at com.android.builder.utils.SynchronizedFile.write(SynchronizedFile.java:232)
Error:  at com.android.builder.utils.FileCache.lambda$queryCacheEntry$6(FileCache.java:415)
Error:  at com.android.builder.utils.SynchronizedFile.doActionWithMultiProcessLocking(SynchronizedFile.java:265)
Error:  at com.android.builder.utils.SynchronizedFile.read(SynchronizedFile.java:215)
Error:  at com.android.builder.utils.FileCache.queryCacheEntry(FileCache.java:391)
Error:  at com.android.builder.utils.FileCache.createFile(FileCache.java:273)
Error:  at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransformCallable.getFromCacheAndCreateIfMissing(DexArchiveBuilderTransformCallable.java:174)
Error:  at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransformCallable.call(DexArchiveBuilderTransformCallable.java:150)
Error:  at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransformCallable.call(DexArchiveBuilderTransformCallable.java:53)
Error:  at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
Error:  at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
Error:  at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
Error:  at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
Error:  at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Error:Caused by: com.android.dx.cf.code.SimException: default or static interface method used without --min-sdk-version >= 24
Error:  at com.android.dx.cf.code.Simulator$SimVisitor.visitConstant(Simulator.java:670)
Error:  at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:765)
Error:  at com.android.dx.cf.code.Simulator.simulate(Simulator.java:102)
Error:  at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:790)
Error:  at com.android.dx.cf.code.Ropper.doit(Ropper.java:745)
Error:  at com.android.dx.cf.code.Ropper.convert(Ropper.java:350)
Error:  at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:309)
Error:  at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:150)
Error:  at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:102)
Error:  at com.android.builder.dexing.DxDexArchiveBuilder.lambda$processJobChunk$0(DxDexArchiveBuilder.java:109)
Error:  ... 5 more
Error:...at bytecode offset 00000028
Error:locals[0000]: I
Error:locals[0001]: Ljava/util/Comparator;
Error:stack[0004]: Lcom/google/common/collect/Comparators$$Lambda$0;
Error:stack[0003]: Ljava/util/function/BiConsumer;
Error:stack[0002]: Ljava/util/function/BinaryOperator;
Error:stack[0001]: Ljava/util/function/Function;
Error:stack[top0]: [Ljava/util/stream/Collector$Characteristics;
Error:...while working on block 0028
Error:...while working on method least:(ILjava/util/Comparator;)Ljava/util/stream/Collector;
Error:...while processing least (ILjava/util/Comparator;)Ljava/util/stream/Collector;
Error:...while processing com/google/common/collect/Comparators.class
Error:Execution failed for task ':mobile:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.builder.utils.FileCache$FileCreatorException: com.android.builder.dexing.DexArchiveBuilderException: Unable to convert input to dex archive.
like image 404
Bogdan Zurac Avatar asked Jul 08 '17 11:07

Bogdan Zurac


1 Answers

There were changes to guava between 20.0 and 21.0 that is causing dex class transform to fail. With Release22 of guava, there is a build targeted specifically for Android. Switch your guava dependency to the following and you should be good to go.

implementation 'com.google.guava:guava:23.0-android'
like image 56
kjones Avatar answered Oct 22 '22 01:10

kjones