Java 在我的android项目中包含.jar文件时出现Dex错误

Java 在我的android项目中包含.jar文件时出现Dex错误,java,android,jar,dex,Java,Android,Jar,Dex,我正在尝试将2.jar文件包含到我的android项目中。我通过将它们拖到我的libs文件夹中,然后在我通过构建->编辑库和依赖项->jar依赖项添加它们之后,我已经完成了这最后一步,无论是否完成了这最后一步,尽管当我尝试运行应用程序时,我将它们添加到我的libs文件夹中: 信息:渐变任务[:app:assembleDebug] 错误:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”的执行失败 java.lang.Runt

我正在尝试将2.jar文件包含到我的android项目中。我通过将它们拖到我的libs文件夹中,然后在我通过构建->编辑库和依赖项->jar依赖项添加它们之后,我已经完成了这最后一步,无论是否完成了这最后一步,尽管当我尝试运行应用程序时,我将它们添加到我的libs文件夹中:

信息:渐变任务[:app:assembleDebug] 错误:任务“:app:transformDexArchiveWithExternalLibsDexMergerForDebug”的执行失败

java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException:无法合并dex 信息:生成在10秒内失败 信息:1个错误 信息:0个警告 信息:请参阅控制台中的完整输出

但是如果我从我的libs文件夹中删除这些文件,错误就会消失,问题是我显然想在我的应用程序中使用这些jar文件。我在这里看到了其他dex错误主题,但似乎没有一个通过添加和删除jar文件来解决这一问题

谢谢

如果您阅读该文档,您将了解到Android应用程序(APK)文件包含Dalvik可执行文件(DEX)形式的可执行字节码文件,其中包含用于运行应用程序的编译代码。Dalvik可执行规范将单个DEX文件中可引用的方法总数限制为65536或64k方法。您正在使用的jar文件包含类和方法。将它们添加到项目中必须超过允许的最大64k方法标记,因此会产生错误

这个问题很常见,有很多解决方案,例如。但是,在您的情况下,我建议您转到应用程序级别的gradle文件,删除所有不必要的依赖项和冗余依赖项(如果存在)。另外,请尝试仅导入项目实际需要的依赖项,例如,如果您需要来自Google play services的库,而不是导入整个Google play services库,请仅导入项目实际需要的依赖项

如果可能的话,试着找到可以替换当前jar文件的jar文件


PS:你能告诉我你要导入的jar文件的名称吗。它可能有助于以简单的方式解决问题。

我建议您编辑问题并提供Gradle控制台的完整输出,而不仅仅是一条错误行。通常,问题的根源(例如,重复类)出现在Gradle控制台输出的其他地方。一般来说,尽量不要使用JAR,而是在存储库中使用工件。这可能是因为不兼容。尝试通过在gradle中的defaultConfig{}`中添加
multiDexEnabled true'来启用multidex。我尝试添加multidexenable,但没有任何帮助,gradle控制台中也没有其他功能,但我会添加其余功能