Sürümlerin Kontrolü, AndroidX'e Geçiş ve Bağımlılıkların Güncellenmesi

Kerem Aydın·7 Temmuz 2026·⏱3 dk

Android Support Library artık kullanımdan kalkmıştır — AndroidX kullanın. Sürümleri kontrol etmek için build.gradle dosyasına bakın ve/veya ./gradlew :app:dependencies komutunu çalıştırın; geçiş yapmak için android.useAndroidX ve android.enableJetifier seçeneklerini etkinleştirin, Refactor → Migrate to AndroidX adımını uygulayın, compileSdk/targetSdk değerlerini ve üçüncü taraf kütüphaneleri güncelleyin; bağımlılıkları güncellemek için dependency updates eklentisini veya CI botlarını (Dependabot/Renovate) kullanın.

Temel Farklar ve Neden Önemli

  • Ad alanları: android.support.* → androidx.* (örneğin, android.support.v7.app.AppCompatActivity → androidx.appcompat.app.AppCompatActivity).
  • Destek: Support Library dondurulmuştur (son sürüm 28.0.0). AndroidX düzenli sürümler, yamalar ve Jetpack ile Material 3 entegrasyonu almaktadır.
  • Uyumluluk: AndroidX paketlerdeki kopyaları ve çakışmaları ortadan kaldırır, boyutu küçültür ve modern API'lerle (korutinler, Flow, Compose) çalışmayı kolaylaştırır.
  • Sürümler: AndroidX anlamsal sürümleme (major.minor.patch) kullanır. Genellikle minor veya patch güncellemeleri güvenlidir, major sürümler ise kırıcı değişiklikler içerebilir.

Projeniz Kotlin'de yazılmışsa, AndroidX'e geçiş genellikle korutinler, Flow ve KTX uzantılarıyla daha iyi uyumluluk sağlar.

Projedeki Sürümleri Nasıl Kontrol Edersiniz

  1. Kodlarda hızlı kontrol: modül düzeyindeki build.gradle(.kts) dosyasını açın ve dependencies bölümünü inceleyin. Örnekler:
// Support
implementation 'com.android.support:appcompat-v7:28.0.0'
// AndroidX
implementation 'androidx.appcompat:appcompat:1.7.0'
  1. Gradle'da bağımlılık ağacı:
./gradlew :app:dependencies --configuration implementation

Hangi artifact'ların bağlandığını ve transitif bağımlılıklar dahil olmak üzere sürümlerini göreceksiniz.
3. Projede arama:

grep -R "android.support" -n .
grep -R "androidx" -n .
  1. Android Studio'da: Tools → AGP Upgrade Assistant ve Analyze → Inspect Code seçenekleri karışık ad alanlarını ve olası sorunları gösterecektir.

Adım Adım Geçiş ve Bağımlılıkların Güncellenmesi

  1. Hazırlık:
    • Android Studio'yu 4.2+ sürümüne güncelleyin (tercihen en son kararlı sürüm).
    • targetSdk ile uyumlu güncel Gradle/AGP sürümünü kurun.
  2. gradle.properties içinde AndroidX ve Jetifier'ı etkinleştirin:
android.useAndroidX=true
android.enableJetifier=true

Jetifier, hâlâ support kütüphanelerini kullanan üçüncü taraf bağımlılıkları otomatik olarak dönüştürür. 3. compileSdk ve targetSdk değerlerini yükseltin (modern AndroidX sürümleri için en az 31+ önerilir). 4. Otomatik geçiş: Android Studio'da Refactor → Migrate to AndroidX adımını uygulayın — bu işlem toplu import değiştirmeleri ve ayarlamaları yapacaktır. 5. Derleme ve düzeltmeler:

  • Build → Clean Project, ardından Rebuild veya ./gradlew clean assembleDebug.
  • Kalan android.support.* kullanımlarını manuel olarak düzeltin (nadiren) ve eski API'leri güncelleyin (örneğin, gerekirse eski RecyclerView adapter'larını ListAdapter ile değiştirin).
  1. Üçüncü taraf kütüphaneleri AndroidX uyumlu sürümlere güncelleyin (OkHttp, Retrofit, 3. taraf UI kütüphaneleri vb.). Kütüphane güncellenmemişse, yerine benzer bir alternatif koyun.
  2. Tam geçişten sonra Jetifier'ı devre dışı bırakın (derleme yükünü azaltır):
android.enableJetifier=false
  1. Gelecekte bağımlılıkların güncellenmesi:
    • Yerel olarak: com.github.ben-manes.versions eklentisi (./gradlew dependencyUpdates) eski paketleri gösterecektir.
    • CI'da: Otomatik PR'larla güncellemeler için Renovate / Dependabot kullanın.
    • Güncellemelerden sonra dikkatlice test edin: entegrasyon testleri, Espresso, birim testleri ve cihaz/emülatör üzerinde smoke testi.

Tüm bağımlılıkların ve modüllerin tamamen AndroidX'e geçtiğini doğrulamadan Jetifier'ı devre dışı bırakmayın — aksi takdirde derleme ve çalışma zamanı hataları oluşabilir.

Sık Karşılaşılan Hatalar

  • Karışık ad alanları (android.support + androidx) sınıf çakışmalarına yol açar — grep ve AGP Assistant ile kontrol edin.
  • Terk edilmiş üçüncü taraf kütüphaneler — deposunu/maven artifact'ını kontrol edin veya bağımlılığı değiştirin.
  • Yetersiz compileSdk: birçok AndroidX özelliği yüksek compileSdk gerektirir (sürüm notlarını kontrol edin).
  • Kütüphane güncellemelerinden sonra — RecyclerView, ViewBinding/Parcelable içinde gerilemeler; UI'yi test edin.

SSS

  • Şimdi geçiş yapmam gerekir mi?
    Evet — Support Library artık desteklenmiyor; AndroidX düzeltmeler ve Jetpack/Compose entegrasyonları alıyor.
  • Proje çok modüllü ise ne yapmalıyım?
    Kök/kütüphane modüllerini aşamalı olarak geçirin, önce ortak modüller, ardından uygulamalar; sürümleri hizalamak için BOM platformunu kullanın.
  • Güncelleme sonrası çökme durumunda hızla nasıl geri alırım?
    Git'te build.gradle içindeki sürüm değişikliklerini geri alın ve/veya artifact'ın önceki sürümünü kullanın (örneğin, appcompat 1.6.1), testleri ve CI'yı çalıştırın.

İleriye doğru: android.useAndroidX'i etkinleştirin, Refactor → Migrate to AndroidX adımını uygulayın, bağımlılıkları güncelleyin ve otomatik güncellemeleri kurun — projeniz daha kararlı hale gelecek ve bakımı kolaylaşacaktır.