Selamlar, Android Developer’ların haşır neşir olduğu bir build tool’u olan Gradle’ı öğreneceğiz. Hazırsanız haydi öğrenelim :)

Gradle
  • Gradle, derleme otomasyonuna ve çoklu dil geliştirmesine destek veren bir build tool’dur.
Stay in Flow
  • Gradle’ı Android Studio, Eclipse, IntelliJ, NetBeans IDE’lerinden birini seçip kullanabilirsiniz.
  • Gradle 3 ana prensip üzerinde durmaktadır.
Gradle Philosophy

Build Anything : Java, C ++, Python veya tercih ettiğiniz dilde yazın. Herhangi bir platformda dağıtım için paket. Monorepo veya çoklu repoya gidin. Ve hepsini oluşturmak için Gradle’ın benzersiz çok yönlülüğüne güvenin.

Automate Everything : Otomasyon konusunda iddialı olmak için Gradle’ın zengin API’sini ve olgun eklenti ve entegrasyon ekosistemini kullanın. Yazılımınızın teslimatını uçtan uca modelleyin, entegre edin ve sistematik hale getirin.

Deliver Faster : Zarif, son derece hızlı yapılarla geliştirmeyi ölçeklendirin. Derlemeden kaçınmadan gelişmiş önbelleğe alma ve ötesine kadar, ekibinizin sürekli olarak teslimat yapabilmesi için performansı durmaksızın takip ediyoruz.

  • Android projesinin başlangıcından sonuna kadar geçen aşamalarda (Derleme, paketleme, test etme, hata ayıklamak, apk imzalamak vb) Gradle yardımıyla işlemler yapılır.
Gradle
  • Milyonlarca yazılımcının güvendiği bir tool. Gradle, en iyi 20 open source proje arasına girdi. Aylık 10+ Milyon indirme alan bir projedir. LinkedIn, Android, Netflix, Adobe, Elastic gibi büyük şirketlerin tercihi Gradle oldu.

Gradle hakkında daha detaylı bilgi için resmi sitesini ziyaret edebilirsiniz :

Gradle Build Process Diagram

Şemada göründüğü gibi

  • source kodların,

bir araya gelerek bizim güzel, eğlenceli uygulamalar geliştirmemize olanak sağlıyor.

Haydi gelin şimdi bir projede Gradle’ın bizlere ne gibi klasörleme oluşturduğunu öğrenelim.

  • app: Projenin modülüdür.
build.gradle(project module)

build.gradle(project module): Root build.gradle dosyası diyebiliriz. Uygulamadaki tüm modüllere uygulanan yapılandırmalar burada yönetilir. Gradle sürümünü, Kotlin ile ilgili sürümleri burada tanımlayıp kullanabiliriz.

  • buildscript: Gradle’ın kendi repoları ve bağımlılıklarını yönettiğimiz bloktur.
build.gradle(app module)

build.gradle(app module): Projenin yapılandırma ayarlarının yapıldığı dosyadır. Kütüphane eklemeleri, uygulamanın sürümü ve birçok özelliği burada tanımlıyoruz.

  • apply plugin: İlgili pluginlerin Android uygulama içinde kullanılabilir hale getirilmesini sağlayan etikettir.
apply plugin: 'kotlin-android-extensions'

Kotlin’in Android için oluşturmuş olduğu extensions’ı kullanabilmemiz için bu plugin’i belirtiyoruz.

  • compileSdkVersion: Uygulamanın compile edilmek istenen versiyonudur. compileSdkVersion > minSdkVersiondan olmalıdır.
applicationId "com.example.myapplication"

Her yeni proje oluşturulduğunda sizden istenen bir alandır.

  • minSdkVersion: Uygulamanın en düşük hangi sürümde çalışacağını belirten etikettir.
Google Play Developer

Google 2 Kasımdan sonra targetSdkVersion en az 29 olmayan uygulamaların mağazaya yüklenmeyeceğini belirtti.

  • versionCode: Uygulamanın Play Store’a yüklemek istendiği zaman ya da güncellenmesi gerektiği zaman numeric olarak tutulan versiyon bilgisidir. Bu değer uniq olmalıdır. Uygulamanın her güncellenmesinde bu değer arttırılmadır ya da değiştirilmelidir.
implementation com.android.support:appcompat-v7:28.0.0

Bu şekilde tanımlıyoruz :

implementation 'androidx.appcompat:appcompat:1.2.0'

AndroidX ile detaylı bilgi için aşağıdaki blog yazısını inceleyebilirsiniz :

Gelecek yazılarda görüşmek üzere.👋🏻 Herkese keyifli kodlamalar. 💻

Mobile Application Developer 👨🏻‍💻

Mobile Application Developer 👨🏻‍💻