您的位置:首页 > 编程语言 > Java开发

Kotlin 踩坑日记(二) dagger2 Java8 的支持错误

2017-05-26 16:50 447 查看

错误信息

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 也可以解决这个问题.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android kotlin java8 dagger2