我有2个应用程序版本 – 专业版和精简版。 它们都已在v1.01上市。 我试图为两者发布v1.1。 此更新包括SwawrmConnect集成,以便使用其全局排行榜。
我应该先说我知道我没有正确维护我的代码。 我有2个完全独立的应用程序,可能共享90%的代码。 我单独维护它们是因为在一两周或者两年或三年之后未能弄清楚如何建立一个库并共享代码之后,我放弃了,就这样用它。
SwarmConnect是我使用的第一个jar,必须为两个应用程序创建一个库(请参阅下面的文件结构截图)。
现在我的Lite版本正在运行并准备发布。 我现在正试图将我的专业版本发布到需要发布的位置。 我相当确定所有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和pro)的库?
编辑:
下面是完美运行的lite版本的文件结构。 在模拟器上编译并运行。
巧合的是,我前天遇到了同样的问题。 这是我建议你做的。
首先要确保您拥有目前驻留在“Android Dependencies”/“libs”文件夹中的所有jar的备份。
现在,让我们首先按照这些步骤修复lite版本。
从Eclipse中Project Explorer下的’Android Dependencies’文件夹中删除除android-support-v4.jar之外的所有jar文件。
同样,从Eclipse中的Project Explorer下的libs文件夹中删除除android-support-v4.jar之外的所有Jar文件。
现在右键单击您的项目 – >选择属性 – >选择Java构建路径 – >选择添加外部JAR。 添加所有必需的jar文件(只需确保只添加一个特定的jar文件)。
最后清理项目并构建它。 现在将相同的步骤序列应用于专业版。 应该这样做。
更新: – 如果您在执行完所有操作后看到Eclipse有关编译时错误的信息,您可能需要做的就是通过按Ctrl + Shift + O执行必要的导入来修复这些编译时错误。
[我假设项目的专业版和精简版之间在源依赖等方面没有联系。我的意思是基本上他们完全独立。]
希望这可以帮助。
我强烈怀疑这是你的问题
右键单击您的项目
查看“Android”选项
在下部窗格中查看是否存在“Swarm Connect”
如果没有,添加它(虽然我真的怀疑它已经存在)
从libs目录中删除Swarm.jar
原因是:当您将库项目添加到Eclipse中的Android项目时,它不会显示在您的libs目录中。 我实际上只是尝试将.jar文件添加到项目中并被告知这是错误的方法(至少在API 14之前,我认为)。
我的猜测是,在你的“非专业”版本中,你没有将它链接到项目选项中,因此它仍然可以正确编译。 尽管如此,您应该按照我刚才描述的方式链接它,以避免在库试图访问自己的资源时出现问题。
上面的解决方案对我没有用,我只需要在外部的libs文件夹中添加jar,并在订单和导出选项卡下取消选中Android私有库。
right click-- java build path-- order and export tab ->Uncheck Android private libraries and add jars in the libs folder externally.
做上述步骤。 不知道为什么会这样。
我试过@Sriram的答案。 它没用。
然后我不得不从Project-> Properties-> Java Build Path-> Libraries的地方删除库,并将实际的jar(我需要android-support-v4.jar和android-support-v13.jar)添加到libs文件夹中我的项目。 然后它工作:
(请注意,没有“Referenced Libraries”文件夹)
我收到此错误是因为我使用了整个Android Development Kit安装程序(Eclipse plus SDK,日期为2013年2月6日)。 我能够摆脱它的唯一方法是卸载所有这些,并从eclipse.org单独安装Eclipse For Java Developers,仅从Android站点安装Android SDK。 该工具包附带的Eclipse有一些有趣的想法,关于在哪里包含库,更不用说c ++和gdb支持的残留部分了。