问题标签 [retrolambda]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
15021 浏览

android - Retrolambda - Jack 需要支持 java 8 - 警告修复

有没有办法禁用警告

Jack 需要支持 java 8 语言功能。

在使用 Retrolambda 时?

我现在不想要千斤顶支持,因为它还没有编译我们的项目。

0 投票
0 回答
303 浏览

java - 使用 Retrolamda Java 8 构建库时出错

我正在尝试在 Bintray 上加载一个库。构建时会出现此错误。以下是日志:

错误原因与Retrolambda有关,虽然我在项目中没有使用它。Retrolamda 中使用了一个单独的模块,从库中使用的示例。

堆栈跟踪:

0 投票
5 回答
10713 浏览

java - 有没有办法在 24 以下的 Android API 上使用 Java 8 功能接口?

我可以使用 retrolambda 来启用 Android API 级别 <24 的 lambda。所以这行得通

这也有效

但是这个不

最后一个适用于 Android API Level 24,但在其他设备上,此代码会导致崩溃

我没有使用retrolambda,而是尝试启用Java 8。前两个代码示例仍然有效,尽管butterknife 停止工作。https://developer.android.com/preview/j8-jack.html#configuration这里ava.util.function说支持,但是我运行第三个的时候还是会crash,这次有点不一样

0 投票
1 回答
85 浏览

android - java 1.7版本如何使用带有retrolambda插件的creative sdk

我正在尝试在我的应用程序中使用 creative sdk 进行图像编辑。

我已经完成了设置并且工作正常。现在我的问题是我在开发环境中有一些限制,我必须使用 java 1.7。当我将项目的 java 版本设置为 1.7 时,我无法运行该应用程序。我收到错误使用 java 5、6 或 7 运行 gradle 时,您必须使用属性 retrolambda.jdk 或环境变量 JAVA8_HOME 将路径设置为 jdk8

我在这里找到了一些解决方案, 但它没有解决我的问题。谁能帮我解决这个问题。

总之,我的问题是我只需要使用 java 1.7 设置创意 sdk 库

0 投票
1 回答
1255 浏览

android - 使用 jack 时,Lambda 表达式在 Android 中因 IncompatibleClassChangeError 而崩溃

我在我的 Android 项目中使用 Java 8。我已经设置了 Jack(在 android 应用程序模块中)和 Retrolambda(在其他模块中)。

我遇到的问题是,当我尝试使其使用类变量(并且我可以在任何模块中重现它)时,我的 Lambda 表达式在一个特定场景中崩溃,在所有其他情况下它按预期工作。也许这是一种标准的 Java 行为,但到目前为止我找不到任何解释。有谁知道问题出在哪里?我的班级和崩溃如下:

崩溃日志:

0 投票
0 回答
76 浏览

java - 如何使用gradle同时配置子项目为Java和Android

我尝试使用 gradle 正确配置多项目构建。

困难在于我有三个项目并且想要构建一个Android应用程序以及一个普通的Java8应用程序(可运行的jar)。因此,我有 Android 项目、Java8 应用程序项目和一个普通的 java 项目,它们具有两个应用程序共享的公共代码。

通过以下设置,我可以编译这两个应用程序。

  • Android 项目应用了“com.android.application”插件并依赖于 Common 项目
  • Java Application 项目应用了“application”插件,并且依赖于 Common 项目
  • Common 项目应用“java”插件

为了使用 lambda 表达式,我在 Android 项目中使用了 retrolambda,在 Java 应用程序中使用了 Java 8。显然,我不能在 Common 项目中使用完整的 Java8,因为这会破坏 Android 应用程序。

为了能够在 Common 项目中使用 lambda 表达式,我必须将 sourceCompatibility 设置为 Java 1.8。然而,这也使得在 Common 项目中使用例如 Java8 Stream API 成为可能。然后,当我编译 Android 项目时,我没有收到编译错误。显然,Android 应用程序会在运行时崩溃。

所以我的问题是:如何配置 Common 项目以便能够在标准 Java8 应用程序和 Android 应用程序中使用它,但是当我使用无法在 Android 上使用的东西时会出现编译错误。

0 投票
3 回答
4189 浏览

android - Retrolambda 错误:无法在空对象上获取属性“destinationDir”

我正在尝试在我的应用程序中使用 retrolambda,但我遇到了问题

build.gradle 项目

build.gradle 应用程序

任何人都可以帮助我解决我的问题

谢谢你

0 投票
0 回答
250 浏览

android - 未找到 Retrolambda $Lambda

我正在使用 Android 做一些工作,并想用它来测试 Retrolambda。但不幸的是,我遇到了一个问题。

我有一个以 Consumer 作为参数的 Dialog 类:

我有一个使用它的活动:

但是启动 AuthDialog 的行向我抛出了异常!这是日志:

最有趣的是,如果我删除该行,onClick 侦听器将不会与下一个 lambda 争论。

0 投票
1 回答
240 浏览

android - 为什么这个方法调用不能转换成 lambda?

考虑以下代码:

为什么不能翻译成这样:

retrolambda在 AndroidStudio 中使用。

0 投票
1 回答
903 浏览

java - Android Studio 2.1.3 中的 Retrolambda 3.3:配置项目“:app”时出错

我在 Android Studio 2.1.3 (Windows 7) (plugin) 中配置了我的项目 (Module:app classpath 'com.android.tools.build:gradle:2.1.3')

我得到了

我使用 Facebook 和 Twitter (fabric) 依赖项。

我删除apply plugin: 'me.tatarka.retrolambda'了它运行正常但没有retrolambda。

我试过:

我在 IDE 日志中得到了这个