Android'de API seviyeleri nedir ve uygulamaları nasıl etkiler

Kerem Aydın·6 Temmuz 2026·⏱3 dk

API seviyeleri, belirli bir Android derlemesindeki sınıfların, yöntemlerin ve davranış sözleşmelerinin kümesini tanımlayan sayısal etiketlerdir; uygulamanın hangi işlevlere erişebileceğini ve hangi cihazlara yüklenebileceğini belirlerler. Doğru şekilde yapılandırılmış minSdkVersion, targetSdkVersion ve compileSdkVersion değerleri uyumluluk, güvenlik ve öngörülebilir davranış sağlar.

API seviyeleri ile Android sürümleri arasındaki ilişki

Her Android sürümüne bir veya daha fazla API level karşılık gelir; bu, platform sürümüne bağlı resmi numaradır. Yeni API'ler yeni yetenekler (yeni sınıflar, yöntemler) ekler ve bazen mevcut sistem işlevlerinin davranışını değiştirir. Örnekler (referans): Android 11 — API 30, Android 12 — API 31, Android 13 — API 33, Android 14 — API 34. Numaralar anahtar görevi görür: API level 31 olan bir yöntem kullanırsanız, bu yöntem API 30 ve altındaki cihazlarda bulunmayacaktır.

Sürüm öncesi resmi belgelerde API numaralarının güncelliğini kontrol edin — bazen ara değişiklikler ortaya çıkabilir (örneğin, özel dallar için Android API).

Geliştirme için pratik sonuçlar

  • minSdkVersion — uygulamanın yüklenmesine izin verilen minimum API. Değer ne kadar düşük olursa, cihaz kapsamı o kadar geniş olur ancak geriye dönük uyarlamalar ve kontroller için daha fazla kod gerekir.
  • targetSdkVersion — işletim sisteminin hangi sürümlerinin davranışına uyum sağladığınızı belirtir; sistem bu değere bağlı olarak geriye dönük uyumlulukları veya yeni kısıtlamaları etkinleştirebilir.
  • compileSdkVersion — derleme sırasında hangi sembollerin kullanılabilir olduğunu belirler; derleme sırasında en yeni türleri ve kontrolleri kullanmak için güncel SDK'yı ayarlamanız önerilir.

Gradle yapılandırma örneği:

android {
  compileSdkVersion 34
  defaultConfig {
    minSdkVersion 21
    targetSdkVersion 34
  }
}

Yeni API'leri güvenli şekilde kullanma:

  1. Çalışma zamanında sürümü kontrol edin: if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { /* S-API */ }.
  2. AndroidX/Jetpack kütüphanelerini kullanın — bunlar genellikle uyumlu uygulamalar sağlar.
  3. İşlevsellik donanıma veya ayrıcalıklara bağlıysa, yalnızca API numarası kontrolleri yerine özellik kontrolleri (paket/hizmet varlığı kontrolü) yapın.

İzinlere veya donanıma bağlı işlevler için önce özelliğin varlığını (PackageManager.hasSystemFeature) kontrol edin, ardından API sürümünü kontrol edin.

Minimum ve hedef seçiminde öneriler

  • Kullanıcı analitiğini analiz edin (kitledeki sürüm payları). Eski sürümlerin payı önemsiz hale geldiğinde ve bunların destek maliyeti arttığında minSdk'yı yükseltin.
  • Büyük bir sürüm öncesi targetSdkVersion'ı her zaman en son kararlı sürüme güncelleyin ve test edin — bu, yeni işletim sistemlerinde beklenmeyen davranış değişikliklerinden kurtarır.
  • Testleri sınırda (desteklenen minimum sürüm) ve güncel sürümde içeren bir CI hattı sürdürün.
  • Sürüm notlarında hangi API'lerin kullanıldığını ve minimum gereksinimleri belgeleyin — bu, ekip ve QA için geriye dönük uyumluluğu kolaylaştırır.

Sık yapılan hatalar

  • Önerilenden daha düşük targetSdkVersion ayarlamak, bunun sonucunda uygulamanın önemli sistem iyileştirmelerini almaması.
  • Yeni API'leri çalışma zamanı kontrolleri olmadan kullanmak — eski cihazlarda ClassNotFoundException/NoSuchMethodError hatasına yol açar.
  • Kullanıcı payını analiz etmeden minSdkVersion'ı yükseltmek — kitlenin ani daralması.
  • Yalnızca en son sürüme sahip emülatörlerde test yapmak ve gerçek eski cihazlarda kontrol etmemek.

SSS

  • Cihaz minSdkVersion'dan düşükse ne olur?
    Uygulama, bu cihazda mağazadan yüklenemez hale gelir.

  • compileSdkVersion, targetSdkVersion ile aynı mı olmalı?
    Derleme sırasında güncel API'lere erişim sağlamak için compileSdkVersion'ı targetSdkVersion'a eşit veya ondan yüksek tutmak daha iyidir.

  • Daha yüksek seviyede mevcut olan API'ler nasıl güvenli şekilde kullanılır?
    Build.VERSION.SDK_INT kontrolleri yapın, AndroidX kullanın ve yedek uygulamalar öngörün.

  • targetSdkVersion ne sıklıkla güncellenmeli?
    Her büyük Android sürümünde, testleri çalıştırıp kodu yeni platform gereksinimlerine göre ayarlayarak güncelleyin.

Bu kurallara uyarak uyumsuzluk risklerini en aza indirir ve kitle kaybı yaşamadan platformun yeni yeteneklerinden yararlanma fırsatı elde edersiniz.