AndroidX Nedir?
Merhabalar, Android geliştiriciler arasında son zamanlarda tam olarak neden kullandığı ve ne olduğu anlaşılmayan bir konu olan AndroidX’i öğreneceğiz. Haydi başlayalım :)

AndroidX , Google’ın 2018 yılında tanıttığı bir projedir.
AndroidX, Android tarafından Jetpack içinde bulunan kütüphaneleri geliştirebilmek, test edebilmek, paketleyebilmek, en güncel sürümleri hazırlayabilmek için geliştirdiği Open Source (Açık Kaynak) bir projedir.
AndroidX, en güncel Jetpack Component'lerini ve Support Library’i kapsamaktadır.
Güncel AndroidX Jetpack Component ve Support Library sürümlerini aşağıdaki linkten bulabilirsiniz :
https://developer.android.com/jetpack/androidx/versions
Jetpack Nedir?

Jetpack, Android’in uygulama geliştirirken kullanılmasını önerdiği library ve tools’dan oluşan ve Android Developer'ların verimli, kaliteli ve hızlı çalışan uygulamalar yazabilmesini sağlayan bir yardımcı pakettir.
Jetpack 4 kategoriden oluşmaktadır :
Architecture
Behavior
Foundation
UI
Architecture
Test edilebilir ve bakımı yapılabilir uygulamalar tasarlamanıza yardımcı olur.
Behaviour
Uygulamada kullanılan bildirimler, izinler, paylaşım ve asistan gibi birçok özelliğin Android servisleriyle entegre çalışmasını sağlar.
Foundation
Kotlin dil desteği, geriye dönük uyumluluk, test etme ve birçok temel bileşen desteği sağlamaktadır.
UI
Uygulamanızı kolay kullanabilmeyi sağlar. Uygulamayı eğlenceli hale getirmek için temel ve yardımcı araçlar sağlar.
Jetpack ile ilgili detaylı bilgi için Android’in sitesini inceleyebilirsiniz :
https://developer.android.com/jetpack/getting-started
AndroidX Neden Geliştirildi?

Android işletim sistemi 2008 yılında ortaya çıktı. Android geliştiricilere yarar sağlamak için 2011 yılında ise Support Library duyuruldu. 7 sene boyunca çeşitli güncellemeler, geliştirmeler ve iyileştirmelerin ardından 2018 yılında ise AndroidX’i duyurularak Android tarafında çığır açacak bir geliştirmeye gidildi.
AndroidX içinde bulunan kütüphaneler birbirlerinden ayrıyken Support Library içinde birlikte tutulmaktadır. Library güncellenmeleri daha hızlı ve kolaydır.
Kullanılan her bir Library için minimum desteklenen API değeri belirtilir. support-v7 kütüphanesinde minimum desteklenen SDK sürüm 7 olarak belirlenir. Ancak en güncel SDK sürümünün desteklendiği API seviyesi 16’dır.
Android Developers sitesinde Support Library Packages ile ilgili bilgiler bulunmaktadır. İncelemenizi öneririm.
https://developer.android.com/topic/libraries/support-library/packages
Kütüphanelerde gereksiz şekilde isimlendirmeler, kullanılan her sürümleri (v4 ,v7, v13, v14, v17) bilmek açıkcası pek efektif değildi. Bundan dolayı karmaşıklığı önlemek, yazılımcıları rahatlatmak adına AndroidX geliştirildi.
Support Library kullanıldığında kütüphanelerin aynı versiyon üzerinde çalışması gerekir yoksa çeşitli hatalarla karşılaşırsınız. AndroidX ile birlikte böyle düzenlemelere gerek kalmadı.
Support Library ile kullanım :
com.android.support:appcompat-v7:28.0.0
com.android.support:cardview-v7:28.0.0
AndroidX ile kullanım :
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0'
AndroidX’i projelerime nasıl entegre edebilirim?
Hali hazırda bulunan bir projeyi AndroidX’e geçirebilmek için belli başlı koşulları yerine getirmemiz gerekiyor.
build.gradle(Module: app) → compileSdkVersion : en düşük 28 olarak ayarlanmalıdır.

Tools → SDK Manager

→ Appearance & Behavior → System Settings → Android SDK

Android SDK settings kısmından API Level’i 28 veya üstü olan herhangi bir SDK seçilmelidir. Uygulamanızda en az 1 tane bulunması gerekiyor.
Android Build Gradle version 3.2 veya üstü şeklinde ayarlanmalıdır.
build.gradle(Project: ) → dependencies → classpath ayarları yapılmalıdır.

File → Project Structure


Gradle Version 4.6 veya üstü bir sürüm olmalıdır.
Yapmamız gereken temel işlemlerden sonra artık gönül rahatlığıyla Refactor → Migrate to AndroidX seçeneğine tıklayabiliriz.

Migrate to AndroidX alanına tıklayınca bize projemizi yedeklemek isteyip istemediğimizi soran bir alert gösteriyor.

Ben ne olur ne olmaz diye projelerimi migrate edince .zip dosyasını da indiriyorum. Sizlere de tavsiye ederim.

Son olarak nelerin değişeceğiyle ilgili bilgiler verip sizden bunları refactor edip etmemesi gerektiğini söylüyor. Bizler burada Do Refactor butonuna tıklayarak projemizdeki tüm yapıların yeniden düzenlenmesini istiyoruz.

Başarılı bir şekilde projemizi AndroidX’e geçirmiş olduk. Tebrikler 🥳 🚀
Gelecek yazılarda görüşünceye dek kendinize iyi bakın. Keyifli kodlamalar :)