java - 多个 dex 文件 - 转换为 Dalvik 格式失败 - 无法执行 dex

标签 java android dalvik dex

我有 2 个应用版本 - 专业版和精简版。它们都已在 v1.01 上市。我正在尝试为两者发布 v1.1。此更新包括 SwawrmConnect 集成,以便使用其全局排行榜。

我应该首先说我知道我没有正确维护我的代码。我有 2 个完全独立的应用程序,它们共享大约 90% 的代码。我将它们分开维护,因为在一周或 2 或 3 周未能弄清楚如何做一个库和共享代码之后,我放弃了,就这样去做了。

SwarmConnect 是我使用的第一个 jar,必须为两个应用程序创建一个库(参见下面的文件结构截图)。

现在我的精简版正在运行并准备发布。我现在正试图将我的专业版放到需要发布的位置。我相当肯定所有 java/xml 文件都是最新的并且准备好了。当我在模拟器中运行专业版时,出现以下错误:

[2013-04-18 11:24:41 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/android/http/AsyncHttpResponseHandler;
[2013-04-18 11:24:41 - BibleTriviaPro] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/swarmconnect/loopj/android/http/AsyncHttpResponseHandler;

我尝试过的事情:

  • 清理/重建
  • 更新 Eclipse
  • 删除 bin 和 gen 文件夹
  • 重启 Eclipse
  • 加上其他一些东西

我的文件结构:

enter image description here

问题可能是我试图将 SwarmConnect 用作​​ 2 个项目(精简版和专业版)的库吗?

编辑:

以下是运行良好的 lite 版本的文件结构。在模拟器上编译和运行。

enter image description here

最佳答案

巧合的是,前天我遇到了同样的问题。这是我建议您执行的操作。

首先要确保您备份了当前位于“Android Dependencies”/“libs”文件夹中的所有 jar。

现在,让我们先按照以下步骤修复精简版。

  1. 从 Eclipse 中 Project Explorer 下的“Android Dependencies”文件夹中删除除 android-support-v4.jar 之外的所有 jar 文件。

  2. 类似地从 Eclipse 中 Project Explorer 下的 libs 文件夹中删除除 android-support-v4.jar 之外的所有 Jar 文件。

  3. 现在右键单击您的项目-> 选择属性-> 选择 Java 构建路径-> 选择添加外部 JAR。添加所有必需的 jar 文件(只需确保只添加一次特定的 jar 文件)。

最后清理项目并构建它。现在将相同的步骤序列应用于专业版。 应该这样做。

更新:- 如果您在完成所有这些操作后看到 Eclipse mock 一些编译时错误,您可能需要做的就是通过按 Ctrl 进行必要的导入来修复这些编译时错误+Shift+O.

[我假设项目的 pro 和 lite 版本在源依赖等方面没有联系。我的意思是说它们基本上是完全独立的。]

希望这会有所帮助。

关于java - 多个 dex 文件 - 转换为 Dalvik 格式失败 - 无法执行 dex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16087341/

相关文章:

java - 扩展 Java 枚举

java - 使用多个 onclicklistener 添加到 SharedPreference 值

Android 转换为 Dalvik 解析错误

android - adb reboot 命令挂起模拟器选项

java - 基于寄存器的VM与基于堆栈的VM之间的主要区别是什么?

java - 弹出菜单有时不显示在屏幕上

java - 有没有一种方法可以覆盖 JLabel 的内容

android - 如何防止android服务被杀死(带通知的服务)

java - java中为什么需要复制构造函数以及什么时候应该使用复制构造函数

android布局从屏幕推送 View