尝试使用Android v7 AppCompat库时出现奇怪的错误

10

我刚刚在我的项目中添加了android v7-appcompat库。我已经成功地将jars添加到构建路径,并且现在正在使用Theme.AppCompat主题。现在,我遇到了这个奇怪的错误:

[Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v7/app/ActionBar$Callback; [2013-10-09 11:11:50 - DelTest2] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v7/app/ActionBar$Callback;

编辑

我的项目现在包含三个文件夹,每个文件夹都包含android v7 appcompat:

+Android Private Libraries
+Android Dependencies
+Referenced Libraries

为使我的项目能够运行,我必须删除这些库中的哪一个?


https://dev59.com/mGsz5IYBdhLWcg3wNE5q - Arash GM
7个回答

5

您的项目中出现了多个android-support-v4.jar,导致出现错误信息。

其中一个来自您的项目,另一个则是您添加到项目中的库文件。请删除您添加的库文件中的一个android-support-v4.jar,然后进行清理并运行应用程序。

就是这样。


5

首先,我从构建路径中删除了所有的jar包,然后开始添加来自android v7 appcompat库的jar包。这样创建了一个Reference Libraries文件夹,其中引用了这两个库。

此外,我发现appcompat库附带的主题是暗色的。而我使用的是AppCompat.Light主题。


0

我遇到了同样的问题,我的解决方案是禁用增量 dex。要做到这一点,请打开 File > Project Structure > <您的 gradle 模块名称>,然后在 Properties 选项卡中将 Incremental Dex 设置为 false


0

我使用了这篇文章来解决我的问题:无法执行dex:多个dex文件定义

我只是去配置构建路径,并取消勾选引用v7 jar的步骤,因为我注意到我在项目的libs文件夹中已经有一个对v4的引用了。


0

只需使用android v7-appcompat库项目,最重要的是,

请确保此库项目不依赖于android-support-v7-appcompat.jar,如果您已经下载了support v7的源文件并将其解压缩到/src文件夹中。

这对我很有效。


0
将android-support-v4.jar从项目中移除,因为它已经存在于库中。

没有起作用,这个消息是否表明我有一个重复的Android v7 AppCompat库? - vamsiampolu
清理项目并重新构建,然后检查一次。 - NARESH REDDY
我在我的项目中找到了三个android v7库jar的副本。我已经编辑了我的问题。 - vamsiampolu
从构建路径中删除添加的jar文件,然后清理并重新构建一次。 - NARESH REDDY

-1

我曾经遇到同样的问题,解决方法是清理项目(Build > Clean Project),然后重新构建。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接