2017-07-08 168 views
6

我在尝试在AS 3.0 Canary 5中构建项目时出现以下错误。导致它?将字节码转换为dex时出错:原因:未使用默认或静态接口方法--min-sdk-version> = 24

的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:[email protected]' 
    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 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. 
+1

我收到了同样的错误。这不会发生,如果我回到番石榴20.0,但我不知道什么是根源。希望使用番石榴20.0会让你过去这个错误,但没有保证。祝你好运。 – kjones

+0

我可以确认它是由番石榴引起的22.0它可以使用20.0甚至22.0-android,详情请参阅https://github.com/google/guava/wiki/Release22您可以回答问题,以便我可以接受作为正确答案:) –

回答

13

有20.0和21.0之间变动,以番石榴,是造成DEX类转换失败。与番石榴Release22,有一个专门针对Android的构建。把你的番石榴依赖关系切换到下面,你应该很好去。

implementation 'com.google.guava:guava:23.0-android' 
+3

另外,截至今天(2017年9月30日)在其github页面上显示的最新一个: compile'c​​om.google.guava:guava:23.0-android' –

相关问题