使用 retrolambda 和 Android 时出现 eclipse 错误

Bug with eclipse when using retrolambda and Android

我们使用 gradle 进行构建,但使用 Eclipse 编写。我有 retrolambda 工作正常,eclipse 看到 lambda 语法并且没问题,gradle 构建和运行完美。

唯一的问题是 Eclipse 将文件标记为有错误,'package' 的 'p' 用红色下划线标出,错误

'The type java.lang.invoke.MethodHandles cannot be resolved. It is indirectly referenced from required .class files'

有人知道如何摆脱它吗?

最终解决方案是在eclipse中完全删除项目的Android facet,并将eclipse项目SDK设置为JDK8。然后在使用 gradle 和 retrolambda 构建时,它被设置为在 JDK7 上编译。我们还需要将 android jar 添加到 eclipse 构建路径。