【问题标题】:Unable to execute dex: Multiple dex files define Lcom/actionbarsherlock/R$attr无法执行dex:多个dex文件定义Lcom/actionbarsherlock/R$attr
【发布时间】:2013-01-22 10:47:58
【问题描述】:

我为我的应用创建了一个库项目。当我尝试将库添加到项目时,尝试运行它时出现以下错误:

[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

谢谢!

【问题讨论】:

    标签: android eclipse actionbarsherlock dex


    【解决方案1】:

    如果您的项目引用了库项目 - 请检查该库项目是否具有您在项目中使用的相同库但不同的版本。在任何地方都使用相同的版本,一切都应该没问题!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        详情: 我有一个应用程序,它有一个基本 /common 文件夹,然后是两个从该文件夹继承的文件夹——一个免费和付费版本的应用程序。当我的 /common 文件夹和 /free 文件夹在项目结构中都包含相同的 crashlytics jar 文件时,就会出现此问题。

        【讨论】:

          【解决方案4】:

          您可以使用Tattletale

          它可以帮助您识别 JAR 文件中的重复类。

          希望对你有帮助。

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

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

              运行任何一个免费/付费项目都会导致 OPs 错误。

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

              【讨论】:

                【解决方案7】:

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

                【讨论】:

                  【解决方案8】:

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

                  【讨论】:

                    【解决方案9】:

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

                    【讨论】:

                      【解决方案10】:

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

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

                      【讨论】:

                        【解决方案11】:

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

                        【讨论】:

                        • 嗨@Matthew,感谢您的回答。如前所述,我通过安装最新版本的Eclipse解决了这个问题。
                        【解决方案12】:

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

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

                        【讨论】:

                        • 我的问题的解决方案是我删除了我复制粘贴在项目的 lib 文件夹中的 jar 文件。我在构建路径中明确导入了外部 jar。
                        猜你喜欢
                        • 1970-01-01
                        • 2011-12-13
                        • 2013-03-20
                        • 2014-02-20
                        • 1970-01-01
                        • 1970-01-01
                        • 2014-03-14
                        相关资源
                        最近更新 更多