5

我在我的 Android 应用程序项目 (API 18) 中使用Socialize SDK 。

我已经阅读了它的入门文档并遵循了如何实现它的说明。

但是,我遇到了几个关于库导入的问题。我试图将所有 JAR 文件放在我的项目/libs文件夹中,但它找不到可绘制对象,因为显然我没有包含他们的/res文件夹。

因此,我将项目的构建路径配置为包含库。现在出现此错误:

[2013-11-20 10:11:04 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

[2013-11-20 10:11:04 - WebShopper] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

我已经将 Socialize 项目文件夹导入 Eclipse 以便使用它的库。但我不知道如何解决这个错误。

如果有帮助,这是我的构建路径当前的样子:

Java 构建路径

它出什么问题了?我必须在这里删除任何重复的库吗?

如果有的话,请告诉我。

4

6 回答 6

4

我不知道到底是什么问题,可能是因为多个 jar 文件中的类定义相同。我也遇到过同样的问题,但通过从我的 lib 文件夹中删除一个 jar 文件来解决它。

这里有一些链接可以帮助你摆脱这个问题

无法执行dex:多个dex文件定义了Lcom/myapp/R$array;

尝试运行正在使用其他库项目的主项目时出现“无法执行 dex:多个 dex 文件定义”错误

于 2013-11-20T04:42:42.893 回答
3

出现此类错误是因为您的项目中有多个库或 jar 文件。请执行以下操作:

  1. 先删除导入的库。
  2. 然后清理你的项目。
  3. 转到项目属性,然后单击java构建路径,库,然后导入jar。
  4. 然后刷新您的项目并再次运行。

希望这会对你有所帮助.. :)

于 2013-11-20T05:09:05.140 回答
0

我通过将所有内容jar files放在同一个中解决了这个异常disk

例如:在同一个驱动器中D drive包含您的项目+jar 文件。workspace

于 2014-11-04T06:57:04.853 回答
0

对我来说,问题是,我之前添加了一个 lib 项目(autobahn lib),后来切换到同一个库的 Jar 文件。虽然我删除了对旧库项目的引用,但我收到了这个错误。按照这里的所有答案,我检查了构建路径等。但我没有手动添加这些库来构建路径。所以我没有什么要删除的。终于看到了这个文件夹。

bin/dexedLibs

我注意到有两个同名的 jar 文件对应于导致冲突的 autobahn Android。所以我删除了dexedLibs文件夹中的所有jar文件并重建项目。这解决了这个问题。

于 2014-08-05T05:18:08.910 回答
0

转到项目的bin,dexedLibs并删除那里的重复库。此问题的最常见原因是项目 lib 文件夹和 java 构建路径中 jar 的本地版本,用户可能会再次将相同的 jar 添加到项目中。这将反映在 dexedLibs 文件夹中。在这种情况下,编译器将无法解析对确切类的调用。删除 lib 和 dexedLibs 中的 jar。清洁和建造。

于 2014-05-09T06:03:56.703 回答
0

每当您遇到此问题时,您必须阅读该消息。从字面上看,我们可以看到您的项目中有相同的类文件,即 android/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl。

如果找不到重复的那两个库?你只需要新建一个项目,将所有的jar文件复制到新项目的/libs目录下。Run as--->it error--->然后你删除一些jar-->构建项目--->Run as。直到你删除一些jar,项目正常运行,然后你解压jar文件,你将在错误消息中找到类。现在,你找到了两个库,才决定删除一个。

于 2015-11-09T07:32:48.513 回答