2015-10-06 16 views
13

Xin lỗi nếu tôi đã hỏi một câu hỏi trùng lặp, nhưng tôi không thể tìm thấy giải pháp cho lỗi này. Tôi lướt xung quanh stackoverflow, trang web gradle, android blog, tìm kiếm google nhưng không có một giải pháp làm việc trong vài giờ. Tôi là người mới bắt đầu sử dụng Android nên tôi không chắc liệu mình có bỏ sót gì trong các bài đăng khác hay không.Android: ứng dụng: transformClassesWithJarMergingForDebug FAILED - ZipException: mục trùng lặp

apply plugin: 'com.android.application' 
apply plugin: 'com.google.gms.google-services' 

android { 
     compileSdkVersion 23 
     buildToolsVersion "23.0.0" 

defaultConfig { 
    minSdkVersion 14 
    targetSdkVersion 22 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile 'com.android.support:appcompat-v7:22.2.1.' 
compile 'com.squareup.retrofit:retrofit:2.0.0-beta1' 
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta1' 
compile 'com.android.support:recyclerview-v7:22.2.1.' 
compile 'com.android.support:cardview-v7:22.2.1.' 
compile 'com.squareup.picasso:picasso:2.5.2' 
compile 'com.pnikosis:materialish-progress:1.7' 
compile 'com.jakewharton:butterknife:7.0.1' 
compile 'com.google.android.gms:play-services:8.1.0' 
compile files('libs/android-support-v4-22.2.1.jar') 
compile files('libs/applovin-sdk-6.0.1.jar') 
compile files('libs/appodeal-1.13.1.jar') 
compile files('libs/chartboost-5.2.0.jar') 
compile files('libs/my-target-4.0.13.jar') 
compile files('libs/unity-ads-1.4.7.jar') 
} 

Dự án đã hoạt động tốt cho đến khi tôi thêm một số lib từ appodeal (những dòng tệp biên dịch). Tôi đã cố gắng để xây dựng dự án nhưng gradle đã đưa ra các lỗi. lỗi

:app:transformClassesWithJarMergingForDebug'. 
com.android.build.transform.api.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v7/widget/RecyclerView$ItemDecoration.class 

Ngoài ra còn có thêm 2 của cùng một ngoại lệ về trùng lặp entry- không chắc chắn lý do tại sao tôi đã nhận chúng: android/support/v4/PrintKitKat.classandroid/support/multidex/MultiDex$V14.class.

Tôi đã cố gắng nâng cấp gradle, invalidate và khởi động lại để xóa cache, bỏ qua các phụ thuộc sau đó xây dựng lại/dọn dẹp dự án, tìm mô-đun trùng lặp tiềm năng để loại trừ và tìm kiếm các dự án cho .class đó.

+2

Có lẽ một trong những lọ của bạn đã chứa RecyclerView thư viện .jar/Hỗ trợ Multidex .jar/Hỗ trợ v4 .jar Cố gắng không khai báo một mình . Nếu nó giúp sau đó bạn cần phải tìm một cách để làm cho Gradle "hợp nhất" phụ thuộc trùng lặp. Thật không may khi nhìn vào danh sách phụ thuộc của bạn, tôi không thể đề xuất thư viện nào cũng có thể phụ thuộc vào recyclerview/multidex-support/support-v4. – Lingviston

+4

Bạn có thể thực thi ứng dụng **./Gradlew: phụ thuộc ** và đính kèm kết quả không. – Oleksandr

+0

Tôi xin lỗi vì trả lời muộn, tôi không thể nhận được trong stackoverflow của muộn. Tôi đã kiểm tra lại cây thư viện bên ngoài như @Lingviston đề xuất và thấy có một số trùng lặp vì tôi đã cập nhật phiên bản của một số phụ thuộc để gradle tải xuống 2 phiên bản trong các thư mục khác nhau. Tôi nghĩ rằng nó đã làm việc tốt vì tôi đã không thêm ** multiDexEnable true **. Nhưng sau đó khi tôi thêm nhiều libs từ appodeal và dự án đã vượt quá giới hạn 65k (tôi nghĩ vậy) thì tôi phải sử dụng _multi dexing_ và gradle không "hợp nhất" chúng. Cảm ơn Alexandr cho lệnh này, nó đã cung cấp khung nhìn cây phụ thuộc rất toàn diện. –

Trả lời

13

Bạn có thể kiểm tra đặt điều này trên thư mục gốc của thư mục trong Terminal

./gradlew clean 
+0

Tôi đã xóa bản sao mặc dù theo cách thủ công. Nếu chỉ có bạn đã đăng này sớm hơn. Trường hợp được giải quyết, cảm ơn: D –

Các vấn đề liên quan