10

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

[Dex Loader] 无法执行dex:多个dex文件定义了Landroid/support/v7/app/ActionBar$Callback;[2013-10-09 11:11:50 - DelTest2] 转换为 Dalvik 格式失败:无法执行 dex:多个 dex 文件定义 Landroid/support/v7/app/ActionBar$Callback;

编辑

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

+Android Private Libraries
+Android Dependencies
+Referenced Libraries

为了使我的项目正常工作,我必须删除这些库中的哪一个?

4

7 回答 7

5

它显示您的项目包含多个android-support-v4.jar.

一个实际上在您的项目中,另一个在您在项目中添加的库中。只需删除您在项目中添加的一个库。然后清理并运行您的应用程序。

就是这样。

于 2013-10-09T10:42:12.667 回答
5

首先,我从构建路径中删除了所有 jar,然后继续从 android v7 appcompat 库中添加 jar。这在我的项目中创建了一个引用库文件夹,其中引用了这两个库。

另外,我发现 appcompat 库自带的主题是深色的。相反,我使用的是 AppCompat.Light 主题。

于 2013-10-09T11:26:10.323 回答
0

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

于 2013-10-09T10:28:07.580 回答
0

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

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

这对我很有效。

于 2014-01-06T07:06:07.500 回答
0

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

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

于 2014-09-21T05:19:05.793 回答
0

我有同样的问题,我的解决方案是禁用增量 dex。为此,请打开File > Project Structure > < Your gradle module name >,然后在Properties选项卡中将Incremental Dex设置为false

于 2016-01-16T16:40:21.757 回答
-1

我有同样的问题并解决它我清理项目(构建>清理项目)然后重建它。

于 2014-01-15T07:47:53.557 回答