Flutter, Unity ve Facebook SDK İçin Android SDK'yı Derleme Hataları Olmadan Nasıl Yapılandırılır

Kerem Aydın·7 Temmuz 2026·⏱4 dk

Kısa cevap: Android SDK'yı (platform-tools, build-tools), JDK'yı (genellikle Temurin 11/17) yükleyin, ANDROID_SDK_ROOT değişkenini tanımlayın, lisansları kabul edin, Gradle/AGP sürümlerini yığınınızla senkronize edin, AndroidX'i etkinleştirin ve Facebook App ID'sini manifest dosyasına doğru şekilde ekleyin; bu, derleme hatalarının çoğunu çözecektir. Aşağıda pratik bir kılavuz ve kontrol listesi bulacaksınız.

Android SDK'nın Temel Yapılandırması

  1. Android Studio'yu yükleyin ve SDK Manager aracılığıyla şunları kurun:

    • Platform-tools (adb)
    • Build-tools (birkaç sürüm)
    • Gerekli API'ler için SDK Platform (API 33/34 + proje için gerekli olan önerilir)
    • Android SDK Command-line Tools
  2. Ortam değişkenleri:

    • Windows: ANDROID_SDK_ROOT=C:\Users\<user>\AppData\Local\Android\Sdk
    • macOS: export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
    • PATH'e .../Android/sdk/platform-tools ve gerekirse .../Android/sdk/tools/bin ekleyin
  3. JDK:

    • Gradle/AGP gereksinimlerini kontrol edin: genellikle Java 17 veya 11 gerekir. JAVA_HOME değişkenini yüklü JDK'ya yönlendirin ve IDE'yi/terminali yeniden başlatın.

Çok yeni bir Java sürümü (örneğin JDK 21) eski AGP/Gradle sürümlerini bozabilir. Önce uyumluluğu kontrol edin.

  1. Lisansları kabul edin:
    • flutter doctor --android-licenses komutunu çalıştırın veya Android Studio'yu başlatın ve ilk açılışta lisansları kabul edin.

Flutter: Yapılandırma ve Yaygın Derleme Hataları

Durum kontrolü: flutter doctor komutunu çalıştırın — Android toolchain bölümünün yeşil olması gerekir.

Yaygın sorunlar ve hızlı çözümler:

  • Flutter SDK'yı göremiyor: ANDROID_SDK_ROOT değişkenini kontrol edin, terminali yeniden başlatın ve Android Studio'nun SDK'yı yüklediğinden emin olun.
  • Gradle/AGP hataları: android/build.gradle (classpath com.android.tools.build:gradle:...) ve android/gradle/wrapper/gradle-wrapper.properties (distributionUrl) dosyalarını senkronize edin. En kolayı: flutter create tmp ile yeni bir proje oluşturun ve uygun sürümleri kopyalayın.
  • AndroidX/support çakışmaları: android/gradle.properties dosyasına şunları ekleyin:
  android.useAndroidX=true
  android.enableJetifier=true

Kütüphaneleri AndroidX uyumlu sürümlere güncelleyin.

  • Java: Unsupported major.minor version hatası alıyorsanız, gerekli JDK'yı yükleyin ve JAVA_HOME değişkenini tanımlayın.
  • Multidex: 65536 yöntem hatası alıyorsanız, app/build.gradle dosyasında şunu etkinleştirin:
  defaultConfig { multiDexEnabled true }
  implementation "androidx.multidex:multidex:2.0.1"

Android kısmında herhangi bir değişiklik yaptıktan sonra şunları çalıştırın: flutter clean → flutter pub get → flutter run/flutter build.

Unity ve Facebook SDK: Bağlantı ve Hata Çözümleri

Unity, SDK, NDK ve JDK gerektirir. İşinizi kolaylaştırın: Unity Hub üzerinden Android Build Support modülünü (SDK & NDK Tools + OpenJDK) ekleyin. Alternatif olarak, Preferences → External Tools bölümünde yolları manuel olarak tanımlayın.

Unity — yaygın sorunlar:

  • "No Android SDK found" — otomatik yüklemeyi etkinleştirin veya yolu belirtin.
  • Gradle/mergeDex hataları: Build System'i (Gradle) ve Player Settings → Other Settings bölümündeki API seviyesini kontrol edin.
  • Multidex: mainTemplate.gradle (Assets/Plugins/Android) kullanın ve multidex'i etkinleştirin veya yükü azaltmak için IL2CPP'ye geçiş yapın.

Facebook SDK bağlantısı:

  • Flutter için: Eklentileri kullanın (örneğin flutter_facebook_auth), AndroidManifest.xml dosyasına meta-data ekleyin ve facebook_app_id değerini res/values/strings.xml dosyasına girin.
  • Unity için: Facebook SDK'yı içe aktarın (Asset/Package), eklenti ayarlarında App ID'yi belirtin.

Facebook SDK ile sık karşılaşılan sorunlar:

  • No Facebook app id found — <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id" /> satırını ekleyin.
  • Manifest merger failed — birleşik manifest dosyasını açın, yinelenen <application>, provider veya activity etiketlerini giderin.
  • ProGuard/R8 obfuscation yöntemleri siliyor — SDK ile birlikte gelen proguard kurallarını ekleyin.

Derleme "sihirli bir şekilde" başarısız oluyorsa, temiz bir proje (Flutter/Unity) oluşturun ve bağımlılıkları adım adım taşıyın; bu şekilde sorunu daha kolay lokalize edebilirsiniz.

Sık Karşılaşılan Hatalar

  • Proje Android SDK'yı göremiyor — ANDROID_SDK_ROOT ve PATH değişkenlerini kontrol edin.
  • Uyumlu olmayan Gradle ve Android Gradle Plugin sürümleri — şablon proje ile senkronize edin.
  • Yanlış JDK sürümü — eşikler: çoğunlukla 11/17 gerekir.
  • AndroidX/support çakışmaları — AndroidX'i etkinleştirin ve kütüphaneleri güncelleyin.
  • Manifest merger failed — eklenti manifest dosyalarındaki yinelemeleri giderin.
  • Multidex (65536) — multidex'i etkinleştirin veya bağımlılıkları optimize edin.
  • Facebook SDK: Eksik App ID/Key Hashes, manifest çakışmaları, ProGuard kuralları.

SSS

  • SDK'nın doğruluğunu hızlıca nasıl kontrol ederim?
    • flutter doctor ve adb devices. Android toolchain hatalar gösteriyorsa — SDK Manager'a gidin ve yolları/lisansları kontrol edin.
  • Hangi JDK sürümü daha iyi?
    • AGP gereksinimlerine bakın: modern projeler — JDK 17; eski projeler — JDK 11. Temurin/Adoptium kullanın.
  • Gradle version mismatch hatası aldığınızda ne yapmalı?
    • Aynı Flutter/Unity sürümüyle yeni bir proje oluşturun ve oradan gradle-wrapper.properties ile AGP classpath değerlerini alın.
  • Facebook bağlarken duplicate provider hatasını nasıl düzeltirim?
    • Android projesini dışa aktarın (veya birleşik manifesti inceleyin), kullanıcı manifest dosyasındaki yinelenen provider'ı silin.
  • Jetifier'ı etkinleştirmek gerekir mi?
    • Evet, hâlâ support libraries kullanan eski kütüphaneleriniz varsa.

Pratik kontrol listesi (hızlı sıra):

  1. Android Studio + SDK'nın yüklü olduğundan emin olun.
  2. ANDROID_SDK_ROOT ve JAVA_HOME değişkenlerini tanımlayın, lisansları kabul edin.
  3. flutter doctor çalıştırın / temiz bir Unity projesi derleyin.
  4. Gradle/AGP sürümlerini şablonla senkronize edin.
  5. AndroidX'i etkinleştirin, gerekirse multidex'i yapılandırın.
  6. Facebook App ID'sini manifest dosyasına ve Key Hashes'i Facebook konsoluna ekleyin.
  7. flutter clean çalıştırın / Unity'de ProGuard olmadan yeniden derleyin, ardından optimizasyonları etkinleştirin.

Bu adımları izleyerek, Flutter, Unity ve Facebook SDK için tipik Android derleme sorunlarının ~%90'ını çözmüş olursunuz.