问题标签 [jack-compiler]

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 回答
179 浏览

android - Android < 5.0 的 NoClassDefFoundError

我的应用在 Android < 5.0 上崩溃,但适用于 Android > 5.0。我正在使用 multidex 和 Jack 编译器。

Multidex 比 jack 编译器早在添加之前就可以使用,并且之前可以正常工作。添加 Jack Compiler 后,应用程序崩溃,Android < 5.0 出现以下错误。

Jack编译器会导致这个问题还是其他原因?谢谢

0 投票
1 回答
6766 浏览

android - 错误:任务“:app:transformJackWithJackForDebug”执行失败

我在运行应用程序时面临以下问题。

错误:任务“:app:transformJackWithJackForDebug”执行失败。com.android.sched.scheduler.RunnerProcessException:在“MethodIdMerger”运行器上出现错误:超出 GC 开销限制

我还在 gradle 文件中声明了堆大小

我正在使用android studio 2.2 并且启用了 JackOption

更新:包括 build.gradle

有什么可能的解决方案吗?

0 投票
0 回答
114 浏览

android-studio - Android Studio:Lint 检查 Jack 编译器

当我使用 try-with-resources 时,Android Studio 会报告此 Lint 错误:

这个报告是错误的:因为我使用 Jack 编译器,所以我也可以将此功能用于较旧的 API 版本(至少它在 Emulator 中有效)。

我当然可以抑制这种 lint 检查,@SuppressLint("NewApi")但是当我们停止使用 Jack 编译器时,这将非常糟糕。

那么我们应该怎么做呢?

  • 这是需要向某些问题跟踪报告的问题吗?
    例如,我们应该向 Android Studio 报告,还是向 Jack-compiler 报告,或者是否有一些问题跟踪器用于 Android lint 检查?
  • 当 Jack 编译器处于活动状态时,我们能否以某种方式自动全局停用此 lint 检查?
  • 任何其他想法...
0 投票
1 回答
212 浏览

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

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

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

例如

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

有任何想法吗?

0 投票
1 回答
555 浏览

android - NoSuchMethodError 使用 Android Jack 工具链

我正在尝试使用 Jack 工具链启用 Java 8 新语言功能。我已经从我的 Android 项目中删除了 retrolambda 和 android apt 插件,但我收到了这个错误:

错误:任务“:app:transformJackWithJackForAppDebug”执行失败。

com.android.jack.ir.JNodeInternalError: java.lang.Exception: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/对象;Ljava/lang/Object;)V

有什么提示吗?

0 投票
2 回答
2007 浏览

java - 无法使用 Jack 编译器运行项目

我更新了我的项目以使用 Java 8 和 Jack 编译器。该项目编译成功,但每当我尝试在设备上运行它时,都会出现以下错误:

完整的日志如下:

在使用 Jack 编译器之前,一切都很好。可能是什么问题呢?

0 投票
1 回答
55 浏览

java - 添加使用 java 8 的 .jar 文件后的 Android 编译循环

我需要在我的 android 应用程序中使用相同的 nlp 库。特别是这些库需要java 8。我在android项目中添加了.jar文件,添加了

到 app.grandle,但是当我运行项目时,Grandle 控制台会与:app:transformClassesWithPreJackPackagedLibrariesForDebug

0 投票
2 回答
1741 浏览

android - 长链中的rxjava StackOverflowError异常

我用很多运算符构建了很长的 rxjava 链(带有改造请求):doOnNext、doOnError、switchIfEmpty、onErrorResumeNext、flatMap 在某些设备(例如 Android 4.1)上,当链经过最长的路线时,它会抛出 StackOverflowError 异常。

是否有一些方法或最佳实践来优化链或防止 StackOverflowError?

现在我只看到一种方法 - 中断链,并从第一个 onComplete(OnNext) 调用第二部分,但我认为这不是反应方式。

另一种方式 - 使用 .subscribeOn(Schedulers.newThread()); 更改线程;操作员。似乎也不是最好的解决方案。

我的代码:1)订阅代码

2) 辅助方法

3)一些评论:

mainDiv() 和 syntax() 方法与 fastSearch() 方法相同,但对服务器执行另一个请求

getCache().fastSearch() - 创建从自己的缓存中读取数据的 observable(类似改造:getCache() 实现改造 Api 方法接口)

堆栈跟踪:

0 投票
1 回答
52 浏览

android - Jack Compiler 搞乱了编码

启用后,Jack Options我无法打印带有String特殊字符(例如欧元符号(€)或希腊字母UTF-8支持。

0 投票
1 回答
459 浏览

android - 如何绕过 Android 的 jack 编译器给出 Java 堆空间异常?

我最近尝试添加 Apache Commons 的数学库,但在编译过程中遇到了以下异常:

错误:任务“:app:transformClassesWithPreJackPackagedLibrariesForDebug”的执行失败。com.android.sched.scheduler.RunnerProcessException:在“静态 void org.apache.commons.math3.util.FastMathLiteralArrays.() (FastMathLiteralArrays.java:28-5102)”上的“CodeItemBuilder”运行程序期间出错:Java 堆空间

我认为这个问题类似于这些问题中遇到的问题:

错误:任务“:app:transformClassesWithMultidexlistForDebug”执行失败。> java.lang.UnsupportedOperationException(没有错误信息)

Android-错误:任务':app:transformClassesWithDexForRelease'的执行失败