2013-02-07 46 views
8

我为我的应用程序创建了一个库项目。当我尝试将库添加到项目中,我得到的尝试运行它时,下面的错误:

[2013-02-07 04:51:26 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr; 
[2013-02-07 04:51:26 - testfromlibrary] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr; 

我已经加入了HoloEverywhere库到我的图书馆,而我已经添加了ActionBarSherlock库HoloEverywhere。我在Windows 7上使用Eclipse。

即使我已将SDK更新到最新版本,重新启动Eclipse并清理了各个项目,错误仍然存​​在。

有没有人有任何想法如何解决这个错误?我的bin dir未包含在属性下的构建路径中,我已尝试完成deleting the bin folder

谢谢!

回答

5

我将错误的原因指向了/ bin/classes。如果我在运行应用程序之前删除了/ classes目录,应用程序将编译并运行。当然,当我试图实际导出应用程序时,/ classes目录会回来并且出现错误。

我的问题的解决方案是安装最新版本的Eclipse。当我通过最新的Eclipse安装导出或运行应用程序时,/ classes文件夹现在不会显示。

+0

我的问题的解决方案是,我删除了我复制粘贴在项目的lib文件夹中的jar文件。我明确导入了构建路径中的外部罐子。 –

1

今天我有同样的问题。我删除了/ bin中的.apk文件,似乎解决了这个问题。

+0

嗨@Matthew,谢谢你的回答。如前所述,我通过安装最新版本的Eclipse来解决问题。 –

8

当我使用actionbarsherlock创建库时,会发生此问题。在这种情况下,eclipse在我的库中和使用它的项目中从sherlock创建R。

解决方法是在库bin文件夹中只删除包含R类的文件夹actionbarsherlock。这个inst创建了,只存在于你的项目应用程序中。

3

这个问题对我来说是重复的类文件。我在同一个项目中包含了包本身和包的jar sdk(在libs文件夹中)。

2

确保两个项目(库和应用程序)不具有相同的包名(在AndroidManifest内)

18

我发现,如果我进入属性 - > Java构建路径 - >在线订单和出口,并删除Android私人图书馆,然后我的项目建好。有另一个支持v4 jar在那里是与操作栏sherlocks支持v4冲突与库

+1

为我工作。谢谢! – mboy

3

这发生在我后,我改变了一个常规的Android项目库项目,以便使用它的免费/付费项目拆分集向上。

运行免费/付费项目将导致OP错误。

当基础项目是一个普通项目而不是一个库项目时,问题是一些遗留编译的东西。 只需清理工作区并重建所有项目。旧的编译垃圾将被删除,并且所有内容都将被编译到正确的库中。 尝试重新运行给出错误的项目,现在一切都应该正常。

0

从构建路径中删除所有的库,并导入你想实现的库项目..这工作得很好..

0

您可以使用Tattletale

它可以帮助你确定你的JAR文件复制类。

希望它有帮助。

0

对于Android Studio - 我删除了重复的.jar导入并已解析。

详情: 我有一个应用程序,有一个底座/普通文件夹,然后两块从继承的文件夹 - 该应用程序的免费和付费版本。当我将/ common文件夹和/ free文件夹都包含在项目结构中的同一个crashlytics jar文件中时,问题就产生了。

0

对我来说,解决方案是删除“bin”文件夹/目录中的每个JAR文件。

0

如果您的项目正在引用一个库项目 - 请检查库项目是否与您在项目中使用的库相同,但是不同版本。到处使用相同的版本,一切都应该没问题!

相关问题