【问题标题】:How to deal with multiple jar handling issue?如何处理多个 jar 处理问题?
【发布时间】:2015-05-26 03:05:20
【问题描述】:

我注意到 android 中的一个主要问题

当我在我的 android 应用程序中使用/导入几个 jar 用于开发目的时,我得到以下异常:

[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

当我导入/使用不同的 jar 进行应用程序开发时,我一直注意到这个问题。我要去

Project->Properties->Java Build Path->Order & Export-> 然后分配 jars 优先级。

然后我去运行项目,所以我得到了这个异常。每次我都在努力解决这个问题。我知道这个问题是由于 jar 的常见内容而引起的,但我知道处理它的可靠方法。

这就是为什么我想知道如何处理这个问题?

【问题讨论】:

  • 首先请检查控制台日志,并在所有库和应用程序中设置相同版本的支持库

标签: android jar compiler-errors runtime apk


【解决方案1】:

我遇到了这个问题,多个 dex 文件意味着您的应用程序对同一个类有不同的来源。

为了修复它,我也对项目和库使用了相同的 jar 文件(android-support-v4.jar)。 (在项目和库中复制相同的 jar 文件)。

【讨论】:

  • 所以你的意思是这个问题只是因为这个 android-support-v4.jar 而出现的?
  • 我已经通过相同的流程解决了我的问题。所以可能对你有帮助。
【解决方案2】:

这个问题不仅出现在 android-support-v4.jar 中,也可能出现在其他库中。这通常在您在项目中导入某些库时出现。

要解决这个问题,只需找出哪个 jar 显示了多个 dex 问题,并确保在您的项目以及您导入的库中具有相同的 jar。这样做您的问题将得到解决。

【讨论】:

  • 感谢您的回复。我同意你的第一个说法。你能详细解释一下你的第二段吗?
  • 抱歉迟到了。我用一个例子向你解释这个。假设您对 android-support-v4.jar 有多个 dex 问题。您分配给项目的一个库也包含相同的库,即 android-support-v4.jar。尽管在两个项目中有相同的库,但这些库是不同的。您只需复制一个 android-support-v4.jar 并将复制的 jar 复制到与当前项目关联的所有项目中。这次希望你能理解。
【解决方案3】:

检查在项目的 lib 文件夹中添加的所有 jar 文件和所有依赖库,如果 jar 已经添加到另一个项目或 lib 中,请删除它。此错误只是因为同一类有多个来源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-03
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 2021-12-29
    相关资源
    最近更新 更多