当我尝试在 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 之后,创建了一个新的缓存文件,我得到了同样的错误。
其他帖子( here 、 here 、 here 和 here )建议如果我将“./gradlew clean”添加到根目录,它会再次重建 gradle 以运行(据我了解)。所以我也尝试这样做:
这让我的应用文件夹看起来像这样:
但不幸的是,这并没有帮助我仍然得到同样的错误。我究竟做错了什么?我应该做什么?
最佳答案
我将这一行添加到我的 gradle.properties 文件中,我的应用程序运行正常
android.enableJetifier=true
关于安卓工作室 : Resolving Duplicate Classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36990054/