Gradle Build


Android Studio, Android SDK için, ortak standartlar tanımlayabilme özelliği, esnek ve güçlü yapısı nedeni ile Gradle'ı tercih etmiştir. Gradle Build, yeni bir android yapılandırma ve inşa yönetim sistemidir.


Gradle'ın bazı temel özellikleri :


- Android Studio ile etkileşimli bir IDE entegrasyonuna sahiptir.
- Kaynak kodları kolaylıkla düzenlenebilir.
- Uygulamalar kolaylıkla özelleştirilebilir.
- DSL (Domain Specific Language) signingConfigs deklarasyonu ile proje paketi imzalanabilir.
- DSL productFlavors deklarasyonu ile ürün (örneğin versiyonlama) çeşitlendirilebilir.
- gradle.build script dosyası projenin kök dizininde oluşturularak projenin inşa süreci başlatılır.

Temel bir Android projesi aşağıdaki gibi bir gradle.build hiyerarşisine sahiptir.


Gradle Build hiyerarşisi

1- buildscript {...} : Maven kullanılarak, projenin yapılandırılması ve yönetilmesini sağlayan temel birimdir. Yapının sürücüsü ve sürüş kontrol merkezi'dir de denilebilir.
2- apply plugin: '...' : Uygulamanın bir Android projesi olduğunu bildirir. Android Eklentilerini yükler.
3- android {...} : Bir Android projesini derlemek için gerekli tüm parametreleri yapılandırır. Android projeler için, Eklentinin 'android' olması zorunludur.
4- dependencies {...} : Derlenecek kütüphaneleri sürüm numarası ile Android Repository'den alır ve yapıya dahil eder.

Komut satırı kontrolü ile de paket dosyaları oluşturulabilir.

Bir Android projesinde en az 2 adet APK dosyası üretilir. Hata ayıklama (assembleDebug) ve dağıtılabilir sürüm'dür (assembleRelease).

Komut satırı sintaksı şu şekilde olmalıdır : (Windows için)
C:\AndroidProjeDeposu\MyApplication1>gradlew assembleDebug 
 (veya gradlew aD)
C:\AndroidProjeDeposu\MyApplication1>gradlew assembleRelease 
(veya gradlew aR)

Bu yazıda Gradle ile ilgili bilgilerimi paylaşmaya çalıştım. Elbette, Gradle bu anlatılanlarla sınırlı değil. Ancak Android ile uygulama geliştirmeye yeni başlayan arkadaşlar için bir başlangıç kaynağı olabilecektir.

Gradle ile çalışırken çok sabırlı olmak gerektiğini belirtmek zorundayım. Android Studio, bundan önceki (0.4 öncesi) sürümlerinde, gelişmiş bir hata kontrol mekanizmasına sahip değildi. Örneğin sintaks hatası (görememiş olabilirsiniz) olan bir projenizi derlemeye çalışmanız bile, build dosyalarının bozulmasına neden olabiliyordu.

Aşağıda vereceğim kaynakça linklerinde de görüleceği gibi Gradle, Android için yeni bir sistem. Gradleware ve Android Studio ekibi Gradle'ın android tarafını geliştirmeye devam ediyor.
Android Studio'nun 0.4.4 sürümünde birçok şey aşılmış gibi. Şimdi uygulama geliştirmek daha keyifli olacağa benziyor. Örneğin belirli bir sürede olsa internete bağlı kalmadan (Project Settings/Compiler/Gradle/Offline mode) da çalışabileceğiz.

Bundan sonraki Gradle Build ile ilgili yazılarımda, hata kodlarını, açıklamalarını ve çözümlerini yazmaya çalışacağım. Kolay gelsin... 

Kaynakça:
1. www.gradle.org/docs/current/userguide/userguide.html
2. www.gradleware.com/resources/tech/android
3. tools.android.com/tech-docs
4. tools.android.com/tech-docs/new-build-system
5. www.vogella.com/tutorials/AndroidBuild/article.html
6. www.serkanucpinar.net/java/gradle-nedir-ozellikleri-nelerdir