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.class
và android/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
đó.
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
Bạn có thể thực thi ứng dụng **./Gradlew: phụ thuộc ** và đính kèm kết quả không. – Oleksandr
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. –