Gradle derlemesi ve hızlı çözümler için pratik rehber
Android projesini doğru şekilde derlemek için kök ve modül düzeyindeki build.gradle dosyalarını yapılandırın, uyumlu AGP ve Gradle sürümlerini kullanın, JVM parametrelerini ve önbelleği yönetin. Aşağıda tipik arızalar için kompakt talimatlar ve hazır çözümler yer almaktadır.
build.gradle yapısı ve pratik yapılandırma örnekleri
Projede iki anahtar dosya bulunur: kök (Project) ve modül (Module, örneğin app). Kök dosya eklentileri ve depoları tanımlar; modül dosyası ise android {} bloğunu ve bağımlılıkları içerir.
Kök dosya örneği (pluginManagement / version catalog ile önerilen modern yaklaşım):
# gradle/libs.versions.toml
[versions]
agp = "8.5.2"
kotlin = "1.9.22"
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
settings.gradle.kts içinde catalog ve depoları bağlayın. Modülde (app/build.gradle.kts):
android {
namespace = "com.example.myapp"
compileSdk = 35
defaultConfig {
applicationId = "com.example.myapp"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
}
}
dependencies {
implementation(libs.kotlin.stdlib)
}
İpucu: compileSdk ve targetSdk değerlerini güncel ve kararlı seviyede tutun; bu, deprecated API'lerden kaynaklanan gürültüyü azaltır.
Version catalog'ları kullanın — merkezi sürüm yönetimi güncellemeleri ve CI süreçlerini kolaylaştırır.
AGP, Gradle ve uyumluluk: Sorunsuz güncelleme nasıl yapılır?
AGP (Android Gradle Plugin), Gradle ile Android SDK arasındaki köprüdür. 2026 yılında güncel AGP dalları Gradle 8+ gerektirir. Güncellemeden önce:
- AGP sürüm notlarında gerekli minimum Gradle sürümünü kontrol edin.
- Wrapper'ı güncelleyin:
./gradlew wrapper --gradle-version=8.7. - Kotlin ve Compose Compiler'ı AGP ile uyumlu şekilde güncelleyin (bazen belirli bir
kotlinCompilerExtensionVersiongerekir).
CI ortamında derlemelerin deterministik olması için gradle-wrapper.properties ve libs.versions.toml içindeki sürümleri sabitleyin.
Tipik sorunlar ve kanıtlanmış çözümler
- Could not resolve dependency —
google(),mavenCentral()ve (gerekirse)maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }ekleyin. Önbelleği temizleyin:./gradlew cleanBuildCache. - OutOfMemoryError —
gradle.propertiesiçinde:
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m -Dfile.encoding=UTF-8
org.gradle.parallel=true
org.gradle.caching=true
- AGP/Gradle uyumsuzluğu — "Minimum supported Gradle version is X.Y" hata mesajını takip edin ve wrapper'ı güncelleyin.
- R8/ProGuard küçültme yapmıyor —
proguard-rules.prodosyasını kontrol edin vebuildTypes.releaseiçindeminifyEnabled trueseçeneğini etkinleştirin. - Compose ile yavaş derleme — Uygun Compose Compiler sürümünü,
jvmToolchain(17)ayarını kullanın veorg.gradle.configuration-cache=trueseçeneğini etkinleştirin.
Production bağımlılıklarını testImplementation içine eklemeyin — bu, artefaktları istemeden şişirebilir.
Sık yapılan hatalar
- Yanlış belirtilen depolar (mavenCentral yerine jcenter kullanılması).
- Kütüphane sürüm çakışmaları (
implementation("x:y:version")ve aşırı durumlarda forcedResolution ile çözülür). - Configuration cache ve build cache'in göz ardı edilmesi.
- Yeni AGP ile eski eklentilerin kullanılması.
SSS
-
AGP için gerekli Gradle sürümünü hızlıca nasıl öğrenebilirim?
Changelog'daki AGP sürüm notlarını okuyun; yoksa derleme sırasında çıkan hata mesajına bakın ve wrapper'ı güncelleyin. -
AGP'yi her zaman en son sürüme güncellemek gerekir mi?
Risk vardır: Önce Kotlin/Compose uyumluluğunu kontrol edin ve feature branch üzerinde CI'da test edin. -
CI'da derlemeyi nasıl hızlandırabilirim?
~/.gradle/cachesve.gradledizinlerini önbelleğe alın, ortam izin veriyorsa Gradle Daemon ve configuration cache kullanın.
Bu adımları uyguladıktan sonra derleme hala başarısız oluyorsa, --stacktrace --info çıktısını ekleyin ve belirli hata satırlarını arayın: çoğu sorun exception metnine göre çözülür.