أخطاء APK

خطأ Duplicate class

نص الخطأ

Duplicate class org.jetbrains.kotlin.* found in modules kotlin-stdlib-1.8.0 and kotlin-stdlib-jdk8-1.6.0

السبب

الصنف نفسه موجود داخل مكتبتين مختلفتين. لا يعرف Gradle أيهما يختار فيوقف البناء.

الحل خطوة بخطوة

  1. اعثر على الوحدتين المذكورتين في الخطأ. كلتاهما تحمل الصنف ذاته.
  2. استخدم dependencyInsight لترى من يجلب تلك المكتبة.
  3. استبعد الأقدم بـ exclude group: 'x', module: 'y' أو افرض الإصدار الأحدث على الجميع.
  4. في Kotlin أضف منصة kotlin-bom لتكون كل أجزاء Kotlin بإصدار واحد.
  5. بعد التعديل شغّل ./gradlew clean assembleDebug.

أوامر للمثال

./gradlew :app:dependencies --configuration releaseRuntimeClasspath > deps.txt
./gradlew :app:dependencyInsight --dependency kotlin-stdlib --configuration releaseRuntimeClasspath

كيف لا يتكرر

بعد إضافة مكتبة جديدة تصفّح مخرجات dependencies؛ الأسماء المكررة تظهر بسهولة.

المؤلف والترخيص: Nibras Code