【发布时间】:2013-04-18 15:39:54
【问题描述】:
我有 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
- 加上其他一些东西
我的文件结构:
问题可能是我试图将 SwarmConnect 用作 2 个项目(精简版和专业版)的库吗?
编辑:
以下是运行良好的 lite 版本的文件结构。在模拟器上编译和运行。
【问题讨论】:
-
您已经添加了两次 SwarmConnect。这就是问题
-
我已经编辑了我的开场白。你可以看到我的 Lite 版本看起来和我的 Pro 版本一样。为什么一个有效而另一个无效?我的 Lite 版本也有两次罐子,而且效果很好。
-
@Matt 包含一个 jar 两次肯定会导致问题,无论如何:我不相信 Eclipse 告诉您的内容,除非您自己实际查看构建文件。
-
好的,我也可以修复精简版。如果一个 jar 应该只在项目中出现一次,那么它应该在哪里?如果我知道我可以删除其他人。
-
BibleTriviaPro 附有那个小红叉。由于您正在添加 Eclipse 布局的图像,您能否也发布问题部分的图像?