草庐IT

Android Studio 脱糖 : Transform Classes with Desugar for Debug fails

coder 2023-11-30 原文

我的 Android Studio 项目最近停止正常构建。我不知道是什么导致了这个问题。

这是我试过的

  • 我尝试使用不同的 Android Studio 版本构建我的项目,即稳定和不同的 Canary channel 版本,没有变化
  • 更改了 SDK 版本。我的项目使用 SDK 26 正确构建,但现在没有,也没有使用 SDK 27
  • 交换了构建工具和 Gradle 版本,我的项目使用 Gradle 插件正确构建 3.1.0-alpha2和构建工具版本 26.0.2 .我尝试了很多
  • 我无数次在 Android Studio 中使用了“清理项目”“使缓存无效”...
  • 我删除了我的构建文件夹
  • 我打开和关闭 Proguard
  • 我尝试修复可能的库问题,但都无济于事

我认为我实际上将所有内容都改回了我之前成功使用的设置,而我的具有类似设置的其他项目构建得很好。

完整错误代码:

Error:java.lang.RuntimeException: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}

Error:com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}
Error:java.lang.RuntimeException: com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}
Error:com.android.ide.common.process.ProcessException: Error while executing java process with main class com.google.devtools.build.android.desugar.Desugar with arguments {@...\app\build\intermediates\tmp\desugar_args165654356027684238}

Error:org.gradle.process.internal.ExecException: Process 'command '...\jre\bin\java.exe'' finished with non-zero exit value 1

问题描述

我不知道是什么(have) 导致了这个问题,我也不知道接下来要尝试什么,这就是我向您寻求帮助的原因。我希望除了我能找到的以外,任何人都能提供任何其他帮助。

我标记了 Firebase 因为我认为库可能是我问题的关键点,现在的问题是它永远无法解释突然停止。我用 FirebaseUI在我的应用程序中尝试了旧的工作依赖项,但也升级了 Firebase 然后使用 this guide以匹配过时的 UI 库。我还删除了 FirebaseUI,但这都没有成功构建。

最佳答案

对我来说,它恰好是我使用的 Leanplum 库的版本——虽然我无法通过 gradle 发现错误,但我很生气地找到了 Desugar sourcesbazel ,构建它,然后从我失败的 gradle 构建中复制命令行参数,这将我带到了 Leanplum jar,它似乎在两个不同的混淆元素之间发生了名称冲突:

Exception in thread "main" java.lang.IllegalStateException: Already recorded as class: com/leanplum/a/x
    at com.google.common.base.Preconditions.checkState(Preconditions.java:582)
    at com.google.devtools.build.android.desugar.ClassVsInterface.addKnownInterfaces(ClassVsInterface.java:46)
    at com.google.devtools.build.android.desugar.InterfaceDesugaring.visit(InterfaceDesugaring.java:96)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:621)
    at org.objectweb.asm.ClassReader.accept(ClassReader.java:500)
    at com.google.devtools.build.android.desugar.Desugar.desugarClassesInInput(Desugar.java:477)
    at com.google.devtools.build.android.desugar.Desugar.desugarOneInput(Desugar.java:361)
    at com.google.devtools.build.android.desugar.Desugar.desugar(Desugar.java:314)
    at com.google.devtools.build.android.desugar.Desugar.main(Desugar.java:711)

我认为这对我有用,因为较新版本的 Desugar 具有更好的错误报告...因此,如果像我一样您无法弄清楚发生了什么,可能是

  • installing bazel (我在 mac 上用的是 homebrew)
  • 然后构建您自己的 Desugar 版本(我从 bazel 存储库的根目录使用的命令是 bazel build//src/tools/android/java/com/google/devtools/build/android/desugar:脱糖),
  • 然后从失败的 gradle 构建中复制并粘贴 CLI 参数将带来洞察力。 (命令最终看起来像这样:path/to/your/built/Desugar --verbose --input/Users/you/yourApp/app/build/intermediates/transforms/stackFramesFixer/envDev/debug/109。 jar .... --desugar_try_with_resources_if_needed --desugar_try_with_resources_omit_runtime_classes)

我原以为必须将我自己的错误日志记录添加到 Desugar 才能捕捉到这一点,但很高兴这是不必要的。

关于Android Studio 脱糖 : Transform Classes with Desugar for Debug fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47292399/

有关Android Studio 脱糖 : Transform Classes with Desugar for Debug fails的更多相关文章

  1. windows - 如何移动.AndroidStudio3.1文件夹? - 2

    我看过thisquestionhere.但这似乎对我不起作用,因为我不确定FranciscoRomero(选择的答案)在他说idea.config.path和idea时说了什么.系统路径。我不确定我到底应该编辑什么,而且这个问题的其他答案都没有帮助。我只想能够将此文件夹正确移动到我的E:驱动器,然后能够从那里使用AndroidStudio。我的路径是C:\Users\NAME\.AndroidStudio3.1如果有帮助,我在Windows笔记本电脑上。 最佳答案 我可能来晚了,但请按照以下步骤将.AndroidStudioX.Y移

  2. AndroidStudio连接真机测试运行 - 2

    文章目录准备步骤1、打开要连接的手机2、配置AndroidStudio3、用数据线将手机和电脑连起来4、打开开发者模式后问题1、可能需要下userdriver才能连接手机2、电脑连不上手机3、手机连上电脑后不能运行软件运行AndroidStudio运行虚拟机时会占用较大的电脑内存而自己电脑内存不够,或者想要看看自己写的代码在实体机上的运行效果,或者虚拟机连不上网可以用电脑接连接自己的实体手机来解决以上问题(必须是安卓手机,苹果可能也行??哈哈哈没用过)这里只介绍使用有线连接手机,无线我还没用过。说个自己踩过的坑,有的数据线将手机接上电脑后没反应大概率是数据线的问题,有些数据线里边的线数量不够,

  3. AndroidStudio2022.1.1 LOGCAT日志的坑 - 2

    -----2022.10.2补充-----如果想切换回旧版LOGCAT,按照下方步骤设置即可File->Settings->Expermental->Logcat->EnablenewLogcattoolwindow:取消勾选设置好后上方会有一个Toast,询问你是否使用新版logcat,关掉即可-感谢xukunxu下方的留言------------------------------最新测试版移除了以往用选项条来过滤日志的操作,而是改用在过滤器里用过滤语句来过滤日志,也许是为了扩展性,总之挺麻烦的,这里列举一下几个过滤语句。我们先看看官方给的说法:Herearesomeexamplesofh

  4. android - transformClassesWithDesugarForDebug 出错 - 2

    我在编译APK(调试或发布)时遇到问题。AndroidStudio3.0测试版5这是我的build.gradle(应用)buildscript{repositories{maven{url'https://maven.fabric.io/public'}}dependencies{classpath'io.fabric.tools:gradle:1.+'}}repositories{maven{url'https://maven.fabric.io/public'}}applyplugin:'com.android.application'applyplugin:'io.fabric'

  5. android - transformClassesWithDesugarForDebug 需要很多时间 - 2

    自从升级到AndroidStudio3.0,现在升级到3.0.1,transformClassesWithDexForDebug现在变成了transformClassesWithDesugarForDebug。我遇到的问题是构建需要花费大量时间,尤其是在Windows上。我有一个使用Mac的friend,构建大约需要3秒,在Windows上需要20-25秒。在升级到3.0之前情况并非如此。有谁知道为什么会这样或解决这个问题?谢谢 最佳答案 你可以试试这个./gradlew--stop来停止gradle守护进程。然后开始一个新的gra

  6. android - Gradle 3.0 构建错误 : Execution failed for task ':app:transformClassesWithDesugarForDebug' - 2

    将项目迁移到'com.android.tools.build:gradle:3.0.1'。从那以后我就一直从gradle得到这个错误Exceptioninthread"main"java.lang.RuntimeException:Methodcodetoolarge!atorg.objectweb.asm.MethodWriter.a(UnknownSource)atorg.objectweb.asm.ClassWriter.toByteArray(UnknownSource)atcom.google.devtools.build.android.desugar.CoreLibrar

  7. android - LayoutEditor java.lang.ClassNotFoundException 与最新的 AndroidStudio 和 API 28 - 2

    前提:我已经尝试了Stackoverflow类似问题中提出的所有解决方案,其中建议重建、清理缓存或添加到样式父Base.,但没有结果。所以错误应该有不同的原因,因为发生在最新API级别28的项目上。编辑器不工作报告无法实例化以下类:android.support.design.widget.CoordinatorLayoutandroid.support.design.widget.AppBarLayout错误栈:java.lang.ClassNotFoundException:android.view.View$OnUnhandledKeyEventListeneratorg.jet

  8. android - 如何在AndroidStudio中为android库的androidTest添加资源 - 2

    我制作了一个androidLibrary项目,其中包含一些Volley请求类,并想为其中一些请求编写单元测试。我已经这样做了大约一百次,并且在几次尝试后以某种方式成功了,但第一次尝试时却没有成功。如果我通过androidStudio尝试这个右键项目->新建->Android资源目录您可以在源集“main”、“debug”和“release”之间进行选择。没有androidTest选项。如果我手动尝试,添加以下文件夹[moduleName]/src/androidTest/res/raw并在里面放一个文件(比方说image.jpg),我没有通过R.raw.image获得引用。事实上,我根

  9. AndroidStudio/gradle 找不到 javax.persistence 包 - 2

    在尝试执行以下教程时:https://cloud.google.com/developers/articles/how-to-build-mobile-app-with-app-engine-backend-tutorial/使用AndroidStudio,我创建了一个AndroidStudio项目并添加了具有以下内容的CheckIn.java类:importjava.util.Date;importcom.google.appengine.api.datastore.Key;importjavax.persistence.Entity;importjavax.persistence.

  10. android - 无法在 AndroidStudio 2.1 Beta 中从 GitHub 克隆 - 2

    Git已安装:可以使用我的帐户访问GitHub但无法从列表中克隆存储库:更新:AndroidStudio2.1Beta2今天可用问题已解决,但它仅适用于http。SSH不工作这个对话框显示了3次。然后错误:失败并出现错误:致命:无法从远程存储库读取。Android工作室日志:2016-04-1513:03:39,507[5583156]INFO-#git4idea.commands.GitHandler-git-ccore.quotepath=falsepush--progress--porcelainoriginrefs/heads/master:master2016-04-1513

随机推荐