APK hataları

Duplicate class hatası

Hata metni

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

Neden

Aynı sınıf iki ayrı kütüphanenin içinde var. Gradle hangisini seçeceğini bilmez ve derlemeyi durdurur.

Adım adım çözüm

  1. Hatada adı geçen iki modülü bul. İkisi de aynı sınıfı getiriyor.
  2. dependencyInsight ile o kütüphaneyi kimin getirdiğine bak.
  3. Eskisini exclude group: 'x', module: 'y' ile çıkar ya da yeni sürümü herkese zorla.
  4. Kotlin için kotlin-bom platformunu ekle: tüm Kotlin parçaları aynı sürümde olur.
  5. Değişiklikten sonra ./gradlew clean assembleDebug çalıştır.

Örnek komutlar

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

Tekrarlanmasın diye

Yeni kütüphane ekledikten sonra dependencies çıktısına göz at; tekrar eden adlar belli olur.

Yazar ve lisans: Nibras Code