0

我正在使用领域和 retrolambda,我想将 exoplayer 添加到我的项目中,它需要 java 8 支持,当我添加编译选项 java 8 并重建项目时,我收到此错误:

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.

我创建了一个测试项目并添加了 exoplayer,当我添加编译选项 java 8 时,我也添加了jackoption它,它没有任何问题,但是在我的项目中,我 retrolambda 不允许我添加千斤顶选项,我该怎么办?

4

1 回答 1

2

经过 1 天的搜索和阅读文档后,我找到了自己的解决方案,我的gradle插件低于 3.0.0,并且为了在此gradle插件中打开 java 8,我需要添加jacOption到我gradle.build的问题中,retrolamda所以我们无法打开java 8 和插件版本低于 3.0.0 ,如果你的项目中不需要,你可以删除它,如果你不能,有一个解决方案,jackOption 在新的 gradle 插件版本中被弃用,你可以更新你的retrolamdagradle插件到 3.0.0 或更高版本(需要 IDE 版本 3 或更高版本)之后,您可以打开 java 8 并添加 retrolambda 没有任何问题gradleretrolambda

于 2019-02-19T09:39:43.637 回答