错误信息
Error:Error converting bytecode to dex:
Cause: Dex cannot parse version 52 byte code.
This is caused by library dependencies that have been compiled using Java 8 or above.
If you are using the 'java' gradle plugin in a library submodule add
targetCompatibility = '1.7'
sourceCompatibility = '1.7'
to that submodule's build.gradle file.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to pre-dex '/home/lincoln/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jre8/1.1.2-2/dd267c09da9c17ca21037429205eb12bf81489f7/kotlin-stdlib-jre8-1.1.2-2.jar' to '/home/lincoln/IDEA/Project/Study/Code/KtApp/app/build/intermediates/transforms/dex/debug/folders/1000/10/kotlin-stdlib-jre8-1.1.2-2_527e71886ecb23d2d8af9f0270a356f447fd0124'
在编译Kotlin项目的时候,突然出现这个错误。就觉得很蛋疼,根据一般的经验,肯定又是哪个依赖库使用了Java8编译。
解决办法
Dagger2 版本降级
经过测试,2.9版本以后就不可以了,所以如果想要用,还是先锁定2.9版本吧。。。。蛋疼
升级Android Studio
将Android studio 升级至 3.0.0-Canary 也可以解决这个问题.