gpt4 book ai didi

android - 我可以启用 DEX 详细日志记录吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:25:57 25 4
gpt4 key购买 nike

我将我的 Android IntelliJ IDEA 项目从一个位置移动到另一个位置。由于某种原因,IDEA 丢失了所有模块,我不得不重新导入它们。

现在当我编译时,我得到这个 DEX 错误:

Error:Android Dex: [MyApp] Unable to execute DX 
Error:Android Dex: [MyApp] com.android.dex.DexException: Multiple dex files define Lcom/google/common/base/FinalizableReference;
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.run(Main.java:230)
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
Error:Android Dex: [MyApp] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
Error:Android Dex: [MyApp] at java.lang.reflect.Method.invoke(Method.java:597)
Error:Android Dex: [MyApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:161)
Error:Android Dex: [MyApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:294)
Error:Android Dex: [MyApp] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)

我不知道是什么原因,所有常见的多个 JAR 的怀疑似乎都没有问题。

有没有办法打开详细日志记录以更好地了解哪些库存在冲突?

最佳答案

我不知道如何从 DEX 获得更好的错误描述,但这里有 2 个解决问题的建议:

  1. 如果使用 Android Studio,只需搜索有问题的类 FinalizableReference(在搜索中包括非项目类)。(使用 Command+N 查找类或双击 Shift 进行“到处搜索”。对于 eclipse :Ctrl+Shift+T?其他人可以确认。

  2. 使用命令行:jar tf mylib.jar | grep FinalizableReference 将在 mylib 中搜索该类。然后,您可以在 jar 文件(通常在 libs 目录中)上使用一些 shell for 循环。此外,grep -r FinalizableReference libs/*\.jar 将扫描所有 jar(假设您在 libs 中有它们)并通知匹配的(重复项)。

    <

关于android - 我可以启用 DEX 详细日志记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23823606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com