安卓工作室 : Resolving Duplicate Classes

标签 android gradle android-gradle-plugin build.gradle loopj

当我尝试在 Android 设备上运行我的 android 应用程序时,gradle 控制台报告以下错误:

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/loopj/android/http/AsyncHttpClient$1.class

当我搜索“AsyncHttpClient”类时,我发现它确实存在于两个不同的位置:

/Users/Afflatus/.gradle/caches/modules-2/files-2.1/com.loopj.android/android-async-http/1.4.9/5d171c3cd5343e5997f974561abed21442273fd1/android-async-http-1.4.9-sources.jar!/com/loopj/android/http/AsyncHttpClient.java

/Users/Afflatus/.ideaLibSources/android-async-http-1.4.9-sources.jar!/com/loopj/android/http/AsyncHttpClient.java

第一个路径似乎表明它是一个“缓存”文件...所以我尝试了使我的缓存无效并重新启动,但是在 gradle 重建后这两个文件仍然存在,我尝试运行 应用程序。我在备用 posts 中读到它可以通过删除其中一个文件来解决......所以我去了缓存位置并删除了“1.4.9”文件夹中的所有文件......不幸的是在重新打开 Android Studio 之后,创建了一个新的缓存文件,我得到了同样的错误。

其他帖子( herehereherehere )建议如果我将“./gradlew clean”添加到根目录,它会再次重建 gradle 以运行(据我了解)。所以我也尝试这样做:

enter image description here

这让我的应用文件夹看起来像这样:

enter image description here

但不幸的是,这并没有帮助我仍然得到同样的错误。我究竟做错了什么?我应该做什么?

最佳答案

我将这一行添加到我的 gradle.properties 文件中,我的应用程序运行正常

android.enableJetifier=true

关于安卓工作室 : Resolving Duplicate Classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990054/

相关文章:

java - android studio项目中没有菜单文件夹

android - 任务 ':app:dexDebug:' 执行失败

java - 尝试构建 Android-SimpleLocation 时出现错误 "Unable to determine constructor argument #1: missing parameter of type Factory.... "

android - 为什么不能同时使用XML的setOnClickListener和onClick属性

android - 可访问性服务可以停止或终止吗?

android - 找不到 io.fabric.tools :gradle:1. 28.1

eclipse - 非多项目环境的 Gradle 依赖项

android - 错误 :(1) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'

android - 当 80% 大小归因于第三方库时,如何减少 Apk 大小?

android - 我如何从 Gradle 测试中排除 Android 项目子模块的测试