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 目录不包含在属性下的构建路径中,我尝试完全删除 bin 文件夹

谢谢!

4

12 回答 12

18

我发现如果我进入属性 -> Java 构建路径 -> 订购和导出并删除了 Android 私有库,那么我的项目构建得很好。那里有另一个支持 v4 jar,它与动作栏 sherlocks 支持 v4 库冲突

于 2013-08-14T17:54:56.587 回答
8

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

解决方案是在您的库 bin 文件夹中仅删除包含 R 类的文件夹 actionbarsherlock。此 inst create 不再存在,并且仅存在于您的项目应用程序中。

于 2013-04-07T02:49:30.027 回答
5

我将错误的原因定位到 /bin/classes。如果我在运行应用程序之前删除了 /classes 目录,则应用程序将编译并运行。当然,当我尝试实际导出应用程序时,/classes 目录会返回并随之出现错误。

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

于 2013-02-07T21:55:48.503 回答
3

我的问题是重复的类文件。我在同一个项目中同时拥有包本身和包的 jar sdk(在 libs 文件夹中)。

于 2013-04-30T12:28:29.590 回答
3

在我将常规 android 项目更改为库项目以便将其用于免费/付费项目拆分设置后,这发生在我身上。

Running either of the Free/Paid projects will result in OPs error.

Problem was some left over compilation stuff when the base project was a normal project and not a library project. Just clean the workspace and rebuild all projects. Old compilation junk will be removed and everything will be compiled into correct libraries. Try to rerun project which gave the error and everything should be fine now.

于 2013-09-14T22:42:28.037 回答
2

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

于 2013-06-18T12:30:05.593 回答
1

我今天有同样的问题。我删除了 /bin 中的 .apk 文件,似乎修复了它。

于 2013-02-09T13:19:08.143 回答
0

Remove all the libraries from Build Path and import the library project that you want to implement.. This works just fine..

于 2013-10-25T02:54:19.413 回答
0

You can use Tattletale

It helps you to identify duplicated classes in your JAR files.

Hope it helps.

于 2014-08-08T05:01:19.383 回答
0

For Android Studio - I removed duplicate .jar imports and it was resolved.

Details: I had an app that had a base /common folder and then two folders that inherited from that - a free and paid version of the app. The issue was caused when I had the /common folder and the /free folder both including the same crashlytics jar file in project structure.

于 2015-01-29T22:00:40.617 回答
0

For me, the solution was delete every JAR file in the "bin" folder / directory.

于 2015-05-16T08:13:44.457 回答
0

If your project is referencing a library project - please check if the library project has the same libs that you are using in your project but different versions. Use same versions everywhere and all should be ok!

于 2015-05-27T15:24:28.390 回答