我为我的应用创建了一个库项目。当我尝试将库添加到项目时,尝试运行时会出现以下错误:
[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。
谢谢!
答案 0 :(得分:18)
我发现如果我进入房产 - > Java构建路径 - >订购和导出并删除了Android私有库,然后我的项目建立得很好。那里有另一个支持v4 jar,与动作栏sherlocks支持v4库冲突
答案 1 :(得分:8)
当我与actionbarsherlock一起创建一个库时,会发生这个问题。在这种情况下,eclipse在我的库和使用它的项目中从sherlock创建R.
解决方案是在库bin文件夹中仅删除包含R类的文件夹actionbarsherlock。这个inst不再创建,只存在于您的项目应用程序中。
答案 2 :(得分:5)
我将错误原因指向/ bin / classes。如果我在运行应用程序之前删除了/ classes目录,那么应用程序将编译并运行。当然,当我尝试实际导出应用程序时,/ classes目录会返回并伴随错误。
我的问题的解决方案是安装最新版本的Eclipse。当我通过Eclipse的最新安装导出或运行应用程序时,/ classes文件夹现在不会出现。
答案 3 :(得分:3)
对我来说问题是重复的类文件。我同时拥有包本身和包的jar sdk(在libs文件夹中)。
答案 4 :(得分:3)
在我将常规的android项目更改为库项目以便将其用于免费/付费项目拆分设置后,发生了这种情况。
运行任一个Free / Paid项目都会导致OP错误。
当基础项目是普通项目而不是库项目时,问题是遗留在编译之类的东西。 只需清理工作区并重建所有项目。将删除旧的编译垃圾,并将所有内容编译到正确的库中。 尝试重新运行产生错误的项目,现在一切都应该没问题。
答案 5 :(得分:2)
确保两个项目(库和应用程序)没有相同的包名(在AndroidManifest中)
答案 6 :(得分:1)
我今天遇到了同样的问题。我删除了/ bin中的.apk文件,似乎修复了它。
答案 7 :(得分:0)
从Build Path中删除所有库并导入您要实现的库项目..这很好用..
答案 8 :(得分:0)
答案 9 :(得分:0)
对于Android Studio - 我删除了重复的.jar导入并解析了它。
详细说明: 我有一个应用程序,它有一个基本/公共文件夹,然后是两个从中继承的文件夹 - 应用程序的免费和付费版本。当我的/ common文件夹和/ free文件夹在项目结构中包含相同的crashlytics jar文件时,会导致该问题。
答案 10 :(得分:0)
对我来说,解决方案是删除" bin"中的每个JAR
文件。文件夹/目录。
答案 11 :(得分:0)
如果您的项目引用了库项目 - 请检查库项目是否具有您在项目中使用的库,但不同版本。在任何地方使用相同的版本,一切都应该没问题!