android - 添加 exoplayer 和打开 java 8 的问题
问题描述
我正在使用领域和 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
不允许我添加千斤顶选项,我该怎么办?
解决方案
经过 1 天的搜索和阅读文档后,我找到了自己的解决方案,我的gradle
插件低于 3.0.0,并且为了在此gradle
插件中打开 java 8,我需要添加jacOption
到我gradle.build
的问题中,retrolamda
所以我们无法打开java 8 和插件版本低于 3.0.0 ,如果你的项目中不需要,你可以删除它,如果你不能,有一个解决方案,jackOption 在新的 gradle 插件版本中被弃用,你可以更新你的retrolamda
gradle插件到 3.0.0 或更高版本(需要 IDE 版本 3 或更高版本)之后,您可以打开 java 8 并添加 retrolambda 没有任何问题gradle
retrolambda
推荐阅读
- javascript - 来自 Express 订阅调用的 JSON 数组的 Angular HTML 绑定错误
- r - 当我们有很多变量时如何处理测试依赖
- angularjs - Angular 和 AngularJS 混合应用程序路由:Angular 组件作为子状态不呈现
- java - BufferedImage getSubimage 以看似不错的论点抛出异常
- .net - netstandard2.0 (.net standard 2.0) 类库不能引用 net461 (.net framework 4.6.1) 类库
- sql-server - SQL Server 中的 Nvarchar
- go - 处理两个连续错误
- java - 从文件中读取 - 堆满
- jdbc - 如何在 Telosys CLI 中设置 JDBC 驱动程序 JAR 以创建 dbmodel
- spring - 在 RuntimeEnvironment 中包含 BPMN 文件的问题