问题标签 [android-jack-and-jill]
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.
gradle - Jack 编译卡在 AndroidStudio 2.3 上
我今天已将我的 AndroidStudio 升级到最新的稳定版本 2.3(带有 gradle 插件 2.3.0 和 gradle 3.3):现在,我无法构建在 AndroidStudio 2.2.3 下运行良好的项目。
当我尝试时,只要我不杀死我的 java 平台进程,我就会陷入 :app:transformJackWithJackForDebug 。
我猜这与这篇文章的问题相同,但在稳定版本中。
任何帮助将不胜感激 :)
android - 使用 Jack 和 Retrolambda 运行应用程序时出现问题
我最近在使用 Retrolambda 时尝试在我的应用程序中调试时遇到了很多问题,因为我想在我的 Gradle 中包含 Jack 以进行调试。
因此,我一直在经历这个错误,但我仍然没有找到解决它的方法。
我检查了不同的帖子以寻找解决方案:
Android Studio:Gradle - 构建失败 - 任务“:dexDebug”执行失败
使用 jack 时,Lambda 表达式在 Android 中因 IncompatibleClassChangeError 而崩溃
建议为运行 jack 的 Gradle 守护进程使用更大的堆
但是没有一个解决方案可以解决我的问题。现在我的 Gradle 看起来像:
我的appgradle
:
android - Android 上的 Lambda 调用随机失败
刚开始在一个新项目中使用 lambda,当应用程序崩溃并出现以下堆栈跟踪时,该问题一直存在:
有趣的是它有时会起作用,但我仍然不知道是什么让它起作用,什么东西坏了。
jackOptions
并且1.8 compatibility
都在 build.gradle 中启用。compileSdkVersion
是 25。设备运行的是 Android 5.0。生成的 apk 已com.test.-$Lambda$3
定义此类。
除了完全启用 lambda 之外,还有什么需要做的吗?如何调试此问题以找出真正的根本原因?
更新 1:
这听起来很奇怪,但看起来编译器与 lambda 调用混淆了。假设生成的 APK 已经定义$Lambda$1:Runnable
并且$Lambda$2:Consumer
我看到了特定的方法调用$Lambda$1
,而它必须是$Lambda$2
.
android - Jack 编译器和 JaCoCo 代码覆盖率
我在我的 Android 应用程序中使用千斤顶编译器。以下是如何将 JaCoCo 与 Jack 编译器一起使用的描述。但我不明白。有人谈论在我的 make 命令中更改某些内容。但我使用gradle。还是我必须构建自己的 Android SDK 才能获得 JaCoCo 对 jack 的支持?
android-jack-and-jill - 来自 jar 文件的 Lambda 需要编译类路径上的接口,未知接口是 java.util.function.Predicate
我有一个外部 jar 库。我可以在 intellij idea 中导入此文件,而 java 8 没有任何问题。但是当我将此文件添加到 android studio 时,我得到了这个错误
错误:ApiClass.java:114-115:来自 jar 文件的 Lambda 需要编译类路径上的接口,未知接口是 java.util.function.Predicate
任何人都可以帮助我吗?
构建gradle
和 gradle 属性:
java - 从 jack 迁移到本机 Java 8
我正在尝试在我的 Android 项目中使用 lambda 表达式和流。我将streamsupport库用于流,将本机 Java 8 用于 lambda 表达式。为了能够使用 Java 8 功能,我需要添加
此代码在我的 gradle 中,但编译器显示此错误:
然后我添加了这个
并且编译器没有错误,但在运行时仍然显示相同的错误。 这是我的毕业典礼
这就是我使用 lambda 表达式和流的方法。
所以我的问题是如何解决这个错误。
java - 方法引用调用错误的方法
我正在编写一个 Android 应用程序并使用net.sourceforge.streamsupport:streamsupport:1.5.5
我正在使用带有嵌入式 JDK 的 Android Studio 2.3.3,源和目标兼容性设置为 1.8。
现在我有一个方法引用Light::getColor
,当被调用时,它调用了错误的方法 ( Light::getMaxColorTemperature
)。
如果我使用 lambda 表达式代替 ( light -> light.getColor()
),则调用正确的方法:
重新编译整个项目并没有改变任何东西。有没有人见过这个?我不确定这是流支持问题还是 Android 编译器问题,以及如何弄清楚。
android-studio - 使用 Jack 编译器 + 数据绑定构建失败
我在我的应用程序中使用 Databinding 和 Rxjava,然后决定使用 lambda 从 RxJava 迁移到 RxJava2。所以我启用了 jackOption 和源兼容性。现在它无法编译并出现以下错误:
这是我的顶级毕业生:
&我的模块的gradle:
我尝试找到解决方案并在 SO 中找到了一些关于“无法生成视图活页夹”的帖子,但它们与我所面临的不同。
如果我从搜索中理解正确,则数据绑定仍处于 Jack 的实验模式,所以我不确定这是否是实际问题,或者我在这里遗漏了一些可以修复此错误的内容。我想知道的另一件事是,我在另一个项目中做了类似的事情,在该项目中我使用 rxJava 和数据绑定 & 我像在这个项目中一样迁移了它。它没有任何问题。
如果有人可以帮助我,将不胜感激。暂时,我正在使用retrolambda
,但我仍然希望以“原生”方式使用它。