2015-01-27 17 views
17

Tôi tích hợp sdk di động Zendesk thông qua kho lưu trữ maven vào dự án của tôi và nó sẽ không xây dựng nữa. Nó có một số loại xung đột với thư viện picasso mà tôi đang sử dụng. Tôi nhận được lỗi này trong thời gian xây dựng:Gradle Duplicate Entry: java.util.zip.ZipException

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. 
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class 

Tôi chạy ../gradlew dependencies vào thư mục ứng dụng và đây là những gì tôi tìm thấy dưới mô-đun Zendesk:

\--- com.zendesk:sdk:1.0.0.1 
    +--- com.squareup.retrofit:retrofit:1.4.1 
    | \--- com.google.code.gson:gson:2.2.4 
    +--- com.squareup.picasso:picasso:2.3.2 
    +--- com.android.support:support-v4:20.0.+ -> 21.0.3 (*) 
    \--- com.android.support:appcompat-v7:20.0.+ -> 21.0.3 (*) 

Vì vậy, Zendesk cũng đang sử dụng picasso nhưng một phiên bản khác nhau hơn những gì tôi có trong dự án của tôi. Tôi đã thử loại trừ picasso khỏi zendesk như thế này:

compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){ 
      exclude group: 'com.squareup.picasso' 
     } 

nhưng điều này gây ra ngoại lệ thời gian chạy trong các thành phần khác của ứng dụng. Tôi nhận được một NoDefFoundError cho một lớp hoàn toàn không liên quan đến các thư viện.
Có ai có ý tưởng nào về cách giải quyết vấn đề này không?

+1

Bạn có thể đăng hoàn thành "build.gradle" tập tin mà bạn đang sử dụng? Cảm ơn. – AndroidGuy

Trả lời

26

Khi bạn thêm phụ thuộc com.android.support:multidex, bạn thực sự đã thêm một số phụ thuộc va chạm với các phụ thuộc khác.

Tôi đã giải quyết nó bằng cách:
---------------
1. tìm kiếm lớp học, trong trường hợp bạn là "RequestWeakReference.class" (trong AndroidStudio, chỉ cần nhấn Ctrl + N trên Windows hoặc CMD-O trên Mac)
2. Xem lọ nào chứa nó - Android Studio sẽ viết nó trong cửa sổ bật lên.
3. Loại trừ nó từ tất cả xây dựng, ví dụ:

android { 
    configurations{ 
     all*.exclude module: 'servlet-api' 
    } 
} 
+8

là có bất kỳ giải pháp đúng.i am nhận được cùng một vấn đề java.util.zip.ZipException: trùng lặp mục: com/google/gson/chú thích/Expose.class xin vui lòng giúp tôi. tôi đặt như thế này cấu hình {all * .exclude module: 'gson-2.1'} –

+0

@RamBabuPudari tôi đang gặp phải vấn đề tương tự với Expose.class. Bạn đã tìm thấy giải pháp nào chưa? – Rohan

+0

@Tomer Điều này làm việc cho tôi. Tôi đã phải đối mặt với vấn đề tương tự khi sử dụng cú volley trong Android Studio tại một trong các dự án của tôi. –

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