Android Studio'da Gradle Sync ve Derleme Hatalarını Hızlıca Nasıl Düzeltirsiniz
Gradle Sync veya derleme başarısız olursa — önce AGP/Gradle'ı güncelleyin, önbelleği temizleyin ve Build Output'u kontrol edin; ardından belirli hatalar için adım adım çözümlere geçin.
Hızlı Çözümler (En İyi 5)
- Önbellekleri Geçersiz Kıl: File → Invalidate Caches / Restart. Genellikle sorunların %70'ini çözer.
- Wrapper'ı güncelleyin:
./gradlew wrapper --gradle-version=8.7
# gradle/wrapper/gradle-wrapper.properties dosyasında:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
- AGP eklentisini senkronize edin → eklenti sürümünü project build.gradle içinde tanımlayın:
plugins {
id 'com.android.application' version '8.5.2' apply false
}
- Depoları kontrol edin: settings.gradle içinde merkezi yönetim kullanın:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories { google(); mavenCentral(); gradlePluginPortal() }
}
- Önbellek temizliği ve yeniden derleme:
rm -rf ~/.gradle/caches/ # dikkatli olun
./gradlew clean --refresh-dependencies
Her zaman ilk olarak Build Output'taki (View → Tool Windows → Build) tam hata metnini inceleyin — bu, neyi düzeltmeniz gerektiğini gösterir.
İleri Düzey Hatalar ve Çalışan Çözümler
- Could not resolve dependency — depoları, proxy/VPN ayarlarını ve yerel .gradle klasörünü kontrol edin. Rusya'da CI yavaşlıyorsa, bölgesel bir mirror (maven bloğu) ekleyin veya geçici olarak arttırılmış zaman aşımı içeren gradle.properties kullanın.
- Execution failed for task ':app:checkDebugAarMetadata' — kütüphane sürümlerinde çakışma. dependencies içinde force kullanarak sürümleri zorla belirleyin veya BOM/Version Catalog kullanın.
- DexArchiveMergerException (64k) — multidex'i etkinleştirin:
android {
defaultConfig { multiDexEnabled true }
}
dependencies {
implementation 'androidx.multidex:multidex:2.0.1'
}
- M1/M2 üzerinde NDK/JNI — SDK Manager aracılığıyla uyumlu NDK sürümünü kurun ve local.properties içinde ndk.dir belirtin.
Compose içeren projelerde compileOptions ve kotlinOptions değerlerini Java 17/jvmTarget = '17' olarak tutun — bu genellikle sınıf uyumsuzluklarını gidermeye yardımcı olur.
"Hata Katili" Tam Sıra
- Android Studio'yu kapatın.
- Önbellekleri silin: rm -rf ~/.gradle/caches/ && rm -rf
/.gradle /build - Proje kök dizininde: ./gradlew clean --refresh-dependencies --no-daemon
- Studio'yu açın, Sync Project with Gradle Files yapın, ardından Build → Rebuild Project çalıştırın.
- İşe yaramazsa — OutOfMemoryError için günlükleri kontrol edin ve gradle.properties içinde org.gradle.jvmargs değerini artırın, org.gradle.daemon=true etkinleştirin.
- AGP/Gradle çakışması durumunda — AGP 8.5+ ve Gradle 8.7'ye güncelleyin (2026 yılında bu, çoğu durum için çözüm sunar).
Pratik gösteriyor ki: Sorunların %90'ı AGP 8.5+ ve Gradle 8.7'ye güncelleme ile önbellek temizliğiyle çözülür.
Sık Karşılaşılan Hatalar
- "Gradle sync failed" — genel bir belirti, Build Output'ta yığın izlemesini inceleyin.
- "Minimum supported Gradle version is X.Y.Z" — wrapper'ı güncelleyin.
- "Could not resolve" — depo / ağ sorunları.
- "Aar metadata" / "Version conflict" — bağımlılık sürümlerini eşitleyin.
- "DexArchiveMergerException" — multidex'i etkinleştirin veya R8/proguard optimizasyonu yapın.
SSS
- S: Sync açık bir neden olmadan başarısız olursa nereden başlamalıyım?
C: Invalidate Caches + restart → wrapper'ı güncelle → önbellek temizliği → sync. - S: AGP ve Gradle'ı doğru şekilde nasıl güncellerim?
C: Önce Gradle Wrapper'ı güncelleyin, ardından project-level build.gradle içinde eklenti sürümünü belirtin ve senkronize edin. Ana dalda değil, bir branşta test edin. - S: ~/.gradle her zaman silinmeli mi?
C: Her zaman değil — önce clean ve --refresh-dependencies deneyin; önbellek hasarından şüpheleniyorsanız silme işlemi yapın. - S: CI'da ağ hataları发生时 ne yapmalıyım?
C: Mirror'lar kullanın, bağımlılıkları CI'da önbelleğe alın veya özel bir artifact proxy üzerinden yönlendirin.
Başarılı derlemeler — sistematik yaklaşım (günlükler → güncellemeler → temizlik → tekrar) hata ayıklamada saatler kazandırır.