问题标签 [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.

0 投票
1 回答
548 浏览

java - 安卓工作室更新 2.2。运行时错误:Jack 转换为空

在我更新到 2.2 之后,我得到了

dex 无法解析版本 52 字节码 android

所以我尝试强制使用 Java 1.7 版并且我能够通过错误但现在我收到了这个:

错误:任务“:app:transformClassesWithPreJackPackagedLibrariesForDebug”的执行失败。com.android.build.api.transform.TransformException:com.android.jack.api.v01.CompilationException:Jar 转换:null

这是我的模块 Gradle:

这是我的项目 Gradle:

这是我收到的所有错误

错误:Jar 转换:null

错误:com.android.jack.JackAbortException:Jar 转换:null

错误:com.android.jack.JarTransformationException:Jar 转换:null 错误:com.android.jill.JillException

错误:java.lang.NullPointerException 错误:任务':app:transformClassesWithPreJackPackagedLibrariesForDebug'的执行失败。

com.android.build.api.transform.TransformException:com.android.jack.api.v01.CompilationException:Jar 转换:null

谢谢你们!

0 投票
1 回答
175 浏览

android - 杰克编译后的代码可以运行良好的最低 SDK 版本是多少?

如果我使用jack & jill工具链构建我的 android 项目,我可以将最低 SDK 版本设置得相当低。当我通过以下方式启用插孔时:

我可以将最小 sdk 设置为:

任何更低的东西,我都会收到错误消息:

我不想走那么低。我只是好奇在 14 到 23 的 sdk 范围内是否存在任何可能来自使用 jack 编译器的陷阱。假设目标为 25,最小为 14。

在旧版本的 android 上是否会出现任何奇怪的行为或问题?

0 投票
2 回答
3967 浏览

android - 使用 Jack 编译器时禁用 Instant Run

我收到这条消息gradle

我的编译时间太长了。

我认为是因为这个消息。

我在离线模式下工作。

我的毕业典礼:

0 投票
1 回答
1283 浏览

android-studio - Jack 和 Android - Lambda 运行时失败,直到干净构建

看似随机,Android Studio 安装的 apk 已损坏。它通常以 lambda 为中心(但每次都不同)。我正在使用 Jack 编译和所有内容的最新版本(最后列出)。问题一直存在,直到我进行干净的构建(然后一切都很好)。间歇性故障是一种新现象。Jack 和 Java 8 的特性有一段时间是稳定的。不幸的是,我无法确定在片状故障开始之前发生了什么变化。

示例代码:

实际问题分配(在 Guava 代码中):

运行时异常示例:

  • Android Studio/gradle 构建工具 2.2.2
  • 摇篮 2.14.1
  • 构建工具版本 25.0.0
  • sourceCompatibility/targetCompatibility JavaVersion.VERSION_1_8
  • 编译SdkVersion/targetSdkVersion 24
0 投票
2 回答
406 浏览

java - 如何解决“jack.import.type.policy”的语言环境问题?

我正在构建一个必须使用 Java 8 库的应用程序。为了启用源兼容性,我在应用程序的 build.gradle 中添加了以下内容:

在构建解决方案时,我收到以下错误:

如您所见,此错误是由土耳其İ i I ı字符引起的。其他人收到此错误,这是问题单。此问题已标记为在将来的版本中解决,但由于项目的重要性,我不能等待这个未来的版本。

问题单中有一个建议的解决方案:

我提出的一个棘手的解决方案:在 gradle(几乎 9 个)中为所有与 jack 相关的任务创建运行配置,并使用 -Duser.language=en 更新 VM 选项部分

我试图通过编辑 VM 选项来应用它

在此处输入图像描述

并添加-Duser.language=en到 studio.exe.vmoptions 文件。

不幸的是,这并不能解决问题,每当我尝试构建项目时都会遇到相同的错误。

  • 我现在的配置对吗?
  • 还有其他方法可以解决这个问题吗?
0 投票
1 回答
405 浏览

java - 从 buildToolsVersion '24.0.2' 切换到更高版本时的构建错误

切换到 buildToolsVersion 24.0.3 或更高版本时构建失败,并显示与默认方法和静态方法相关的错误消息“Android API 级别低于 24 不支持”

在以前版本的 Build Tools 中运行良好,最高 24.0.2 我正在使用 Jack 和 Google play-services。但是,抱怨是关于 java.util 和 java.lang 中的代码的,例如:

错误:SortedSet.java:36-37:低于 24.0.2 的 Android API 级别不支持默认方法 java.util.Spliterator spliterator()

错误:Stream.java:68-69:Android API 级别小于 24 不支持静态方法 java.util.stream.Stream$Builder builder()

minSdkVersion 17 目标SdkVersion 24

0 投票
1 回答
212 浏览

android - Jack 编译器没有行号(例如 Log.getStackTraceString)

我们已经为我们的 Android 应用程序切换到 Jack 编译器以利用 Java8 功能。然而,当我们启用缩小 ( minifyEnabled true) 时,我们看到我们的应用程序在看似随机的地方崩溃(在旧的 javac+proguard+dex 上一切正常)。

为了节省时间,我们决定禁用缩小,但现在我们遇到的问题是我们的错误报告库将所有调用堆栈报告为未知行号。我还确认我们得到了相同的损坏堆栈跟踪Log.getStackTraceString

例如

唯一似乎让我们返回调用堆栈的是启用调试(debuggable true),但我们不能像这样将我们的应用程序提交到商店。

有任何想法吗?

0 投票
0 回答
696 浏览

android - Android 杰克和吉尔卡住了

我正在尝试将 Jack-Jill 和 Java8 用于我的 Android 应用程序。我的笔记本电脑上的一切都很好,但是当我尝试在 CircleCI 上运行该项目时,它卡住了 transformClassesWithPreJackPackagedLibrariesForDebug

这是我的 build.gradle

我使用工具构建 gradle 版本 2.3.0-alpha1

这是它在日志控制台中显示的一些内容:

当它尝试在 77% 的构建过程中使用 transformJackWithJackForDebug 做某事然后它达到构建时间限制时,它似乎永远卡住了(我将其设置为 60 分钟)

有没有人遇到过这个问题?请建议。

0 投票
0 回答
92 浏览

android - Android - 我无法激活 Jack & Jill

在我的 Android 项目中,我需要使用需要 java 8 的依赖项,所以我正在尝试使用 jack

但我得到这个错误

错误:无法为 com.android.build.gradle.internal.pipeline.TransformTask 类型的任务 ':app:transformJackWithJackForLiteDebug' 获取未知属性 'classpath'。

0 投票
0 回答
44 浏览

android-studio - android studio 编译错误未排序且不可点击

我在 android studio 中使用千斤顶

当我遇到编译错误时,错误与警告混合在一起,因此很难找到,一旦找到,您就无法单击它们以转到代码中的相关部分

请参见下面的示例:

在此处输入图像描述

我只想显示错误(或将它们组合在一起),然后让它们可单击以转到源文件的行。