问题标签 [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 投票
2 回答
7543 浏览

android - Java 8 的 Retrolambda 要求导致:mobile:dexDebug' 异常

试图让 retrolambda 在我的项目中工作时遇到大问题。那里有很多性问题和解决方案,但我没有发现任何不诉诸将multiDexEnabled标志添加到成绩文件中的方法。

我收到以下错误。

错误:任务':mobile:dexDebug'的执行失败。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/bin/java'' 完成非零退出值 2

为了解决这个问题,我可以添加multiDexEnabled true并且这可以工作,但是它也会在我的构建时间上增加 1 分钟,这对于开发来说是不可接受的。

还有其他方法还是我不应该使用 Retrolambda?

编辑添加了 build.grade 代码。

编辑将我的 JDK 版本更改为 1.7 错误后

错误:任务“:activity-manager:compileDebugJava”执行失败。

使用 java 5、6 或 7 运行 gradle 时,必须使用属性 retrolambda.jdk 或环境变量 JAVA8_HOME 将路径设置为 jdk8

因此,在我的 .bash_profile 中,我像这样设置环境变量:

现在,当我在终端中执行以下操作时,echo JAVA8_HOME它会找到正确的路径,但是我的 Gradle 仍然没有找到它。我在我的成绩文件中像这样测试它。

所有这些输出的结果都是空的。

编辑我还用以下内容覆盖了 retrolambda 标记。

然后,我返回以“以非零退出值 2 结束”的方式获取原始异常,但现在在项目设置中设置了 JDK 版本。

错误:任务':mobile:dexDebug'的执行失败。

com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java'' 完成非零退出值 2

0 投票
1 回答
665 浏览

android - 使用 JAVA 8 进行 android 开发是一个好习惯吗?

我从这个答案和(orfjackal/retrolambda )中阅读了使用 Java8 进行 android 开发的说明。

我想知道使用这种技术来实现 Java 8 是否是一种好习惯。这会影响应用程序的性能吗?

它在博客中提到- retrolambda 它通过转换您的 Java 8 编译字节码来实现这一点,以便它可以在较旧的 Java 运行时上运行。

0 投票
1 回答
168 浏览

android-studio - 添加播放服务时,RxAndroid 中止或不构建

在添加 Google Play 服务后,我在让 RxAndroid 和 Google Play 服务一起运行甚至在 Android Studio 中构建项目时遇到了一些问题。我使用了以下 2 个有用的站点作为参考:How to setup retrolambda and Functional Reactive Programming with RxJava in Android。现在也许我错过了一些东西,但是我遇到了 java.exe (java 8) 的问题,要么在构建期间因退出错误而中止,要么在运行实际应用程序时出现 java 8 问题。从错误中我推断出我需要retrolambda,但构建我的项目仍然存在问题。

0 投票
1 回答
472 浏览

android - 使用 retrolambda 构建的 Android 忽略源代码更改

在我们的项目中,我们使用 gradle + retrolambda + proguard。Retrolambda 增量构建设置为 false。

有时构建通过没有错误,但源代码更改不适用于应用程序。为了解决这个问题,我们清理并重建项目

但在我们的例子中,它大约需要 2.30 m。那太长了。

我们如何解决这个问题?

0 投票
3 回答
2987 浏览

android - 从 rx java 表达式转换为 lambda

我已经开始深入研究 retrolambda 和 rxjava。我自己转换了一些表达式,但其中一些我无法转换。我在我的项目中添加了 retrolambda。这里是示例

但我不知道如何转换这种和平的代码:

0 投票
2 回答
2153 浏览

android - Android,Gradle:RetroLambda 不工作

我正在开发一个 Android 应用程序,我想出了 RetroLambda 工具,通过它我可以在 Android 应用程序中使用 Lambda 表达式(太棒了!!)。

不幸的是,它不起作用。我正在为应用程序和整体发布我的 Gradle 文件。请让我知道我做错了什么。非常感谢。

Build.gradle(模块:应用程序)

Build.gradle(模块:项目名称)

错误日志:

我现在正在模拟器中运行。我希望这不是问题。非常感谢。

0 投票
2 回答
2272 浏览

android - 安装了最新版本的Android Studio,构建项目时出现异常?

一个安卓项目,老版本的安卓工作室很好用。但是在我更新IDE版本后,我用gradle构建项目时会发生异常。

这是问题所在:

错误:任务 ':jellyrefresh:compileReleaseJava' 执行失败。

使用 java 5、6 或 7 运行 gradle 时,必须使用属性 retrolambda.jdk 或环境变量 JAVA8_HOME 将路径设置为 jdk8

问题是,我的环境是 Windows XP(我不想更新),所以我无法安装Java 8,所以不需要告诉我这样做。但是我还是想用Android Studio的最新版本

那么这个异常最合理的解决方案是什么?

0 投票
2 回答
1194 浏览

android - 无法在 OSX 中使用 gradle--retrolambda 构建项目

我是 OSX 的菜鸟。今天尝试在Android Studio中使用RxJava和Retrolambda,Retrolambda需要gradle--retrolambda。

所以我开始配置:

1.我在 ~/.bash_profile 中粘贴了一些代码来设置 JAVA7_HOME 和 JAVA8_HOME

看起来工作正常,我使用终端检查它

然后我关注其他文章

2.Edited Android Studio -> Preference -> Path Variables 添加“JAVA8_HOME”和“JAVA7_HOME”,同上

3.Edited build.gradle(项目)

4.Edited build.gradle(app)

我关注了https://github.com/evant/gradle-retrolambda/issues/61,因为 gradle-retrolambda 官方建议找不到 Java8,这个问题有效。

但它给了我:

意外的顶级异常:

我不能处理这个。任何人都可以帮助我吗?非常非常感谢:)

0 投票
1 回答
3368 浏览

android - 使用 lambda 表达式创建 AlertDialog

我的 Android 工作室设置了这些:

我正在尝试使用 lambdas 来知道我能做什么。

当我执行以下代码时:

IDE 显示灰色,new DialogInterface.OnClickListener()告诉我它可以用 lambda 替换。没有更多或更少。在研究了几个 例子之后。我试过这样的事情:

还有这些:

其中的错误:

错误:(99, 64) 错误:不兼容的类型:DialogInterface 不是功能接口,在接口 DialogInterface 中找到多个非覆盖抽象方法

在这种情况下我应该如何使用 lambda?

0 投票
5 回答
13818 浏览

android - 未找到 AndroidHttpClient(运行 Robolectric 时)

我建立了一个非常简单的项目来测试 Robolectric + Data Binding + Retrolambda 的集成。当我运行测试服时,我收到以下消息:

这很奇怪,因为我不在任何地方使用 AndroidHttpClient。


错误发生在这里,在“活动”行:

该程序从不使用 AndroidHttpClient。事实上,这就是整个程序:


关于有什么问题的想法?