Android 10 ile API level 10 Arasındaki Farkı Anlamak

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

Kısaca: Android 10, 2019 yılında yayınlanan ve API level 29'a karşılık gelen Android sürümüdür; API level 10 ise Android 2.3.3–2.3.7'yi (Gingerbread, 2011) ifade eder. Bunlar, birbiriyle kıyaslanamaz API'lere, güvenlik modellerine ve kullanıcı deneyimine sahip farklı nesil işletim sistemleridir.

"API level" Ne Demektir ve Neden Sayıları Ayırt Etmek Önemlidir

API level, Gradle ve kodda (minSdkVersion, targetSdkVersion, compileSdkVersion, Build.VERSION_CODES) kullanılan sayısal bir platform tanımlayıcısıdır. Şunları belirler:

  • Kullanılabilir sınıfların ve yöntemlerin kümesi;
  • Uygulama için sistem davranışı (targetSdkVersion yükseltildiğinde davranışsal değişiklikler);
  • Uyumluluk ve güvenlik gereksinimleri.

Projede targetSdkVersion=29 yazıyorsa, uygulama Android 10 davranışına yöneliktir; minSdkVersion=10 ise uygulamanın Gingerbread üzerinde de çalışması gerekir.

Android 10'un Hangi "Sürümleri" Vardır

"Sürümler" genellikle API 29 tabanlı farklı düzenlemeleri ve yapıları ifade eder:

  • Standart AOSP / Pixel sürümü — Resmi API'ler ve güvenlik güncellemeleriyle temel Android 10.
  • Android 10 (Go edition) — Düşük RAM'e sahip cihazlar için hafifletilmiş sürüm; performans optimizasyonları ve basitleştirilmiş sistem uygulamaları.
  • OEM yapıları (Samsung One UI, MIUI vb.) — Android 10 + marka özel ek katmanlar ve ek API'ler.
  • 10 tabanlı platformlar: Android TV, Android Auto, Android Enterprise — Temeli miras alır ancak kendi SDK'larına/kısıtlamalarına sahiptir.

"Sürüm", yayın numarasını (10.0), "düzenleme"yi (Go) veya üreticiye ait belirli bir yazılımı ifade edebilir — bunların tümü genellikle API level 29 tabanlıdır.

Android 10 (API 29) ile API level 10 (Gingerbread) Arasındaki Temel Fark

8+ yıl içinde değişenleri ana başlıklar halinde sunuyorum:

Mimari ve Güvenlik

  • API 29: Çalışma zamanı izinleri, kapsamlı depolama (scoped storage), kamera/mikrofon arka plan erişiminin kısıtlanması, güçlendirilmiş şifreleme ve cihaz tanımlayıcılarının kısıtlanması.
  • API 10: İzinler kurulum sırasında veriliyordu, gizlilik ve modern şifreleme mekanizmaları asgari düzeydeydi.

API ve Multimedya

  • API 29: Modern kodek desteği, donanımsal hızlandırma, geliştirilmiş kameralar ve görüntü derinliği API'leri.
  • API 10: O dönemin temel multimedya desteği, birçok yeni format mevcut değildi.

UX ve Navigasyon

  • API 29: Hareketli navigasyon, sistem çapında koyu tema, geliştirilmiş bildirimler.
  • API 10: Düğmeli navigasyon (Geri/Ev/Menü), modern sistem temaları ve bildirimleri yoktu.

Uygulama Uyumluluğu

  • targetSdkVersion=29 olan bir uygulama, yeni kısıtlamaları (kapsamlı depolama, arka plan yürütme limitleri) dikkate almalıdır.
  • API 10'u hedefleyen bir uygulama, modern özellikleri kullanmaz ve yeni cihazlarda düzgün çalışmayabilir veya güvenli olmayabilir.

Kısa Karşılaştırma Tablosu

ParametreAndroid 10 (API 29)Android (API 10, Gingerbread)
Yayın Yılı20192011
İzin ModeliÇalışma zamanı izinleriKurulum sırasında izinler
Kapsamlı Depolama (Scoped storage)EvetHayır
NavigasyonHareketler + DüğmelerDüğmeler
Modern KodeklerEvetHayır

Geliştiriciler ve Kullanıcılar İçin Pratik İpuçları

Projede "10" gördüğünüzde her zaman netleştirin: Bu işletim sistemi numarası mı (Android 10 / API 29) yoksa API level 10 mu (Gingerbread)? build.gradle dosyasındaki min/target/compile değerlerini ve çalışma zamanında Build.VERSION.SDK_INT'i kontrol edin.

  • Android Studio'da: compileSdkVersion ve targetSdkVersion değerlerine bakın — bu, geliştirme ve test için bir dayanak noktası sağlar.
  • Çok eski bir minSdk'den (örneğin 10) geçiş: compile/target değerlerini aşamalı olarak artırın, izin davranışlarını, dosya işlemlerini ve arka plan servislerini test edin.
  • Düşük bütçeli cihazlar için Android Go'yu (10 tabanlı) değerlendirin — optimizasyonlar ve özel bellek gereksinimleri.
  • Uygulamayı gerçek cihazlarda ve gerekli API'lere sahip emülatörlerde test edin, özellikle dosya okuma/yazma senaryolarını ve arka plan etkinliğini.

Android sürüm numarasını API level ile karıştırmayın — bu, izin hatalarının ve uyumsuz davranışların sık görülen nedenidir.

Sık Yapılan Hatalar

  • Hata: "Android 10" ve "API 10"un eşdeğer olduğunu sanmak — yanlış min/target SDK ayarlarına yol açar.
  • Hata: targetSdkVersion'ı 29'a yükseltirken kapsamlı depolamayı (scoped storage) test etmemek — uygulama dosya erişimini kaybedebilir.
  • Hata: Arka plan servislerinin ve bildirimlerin çalışmasındaki değişiklikleri göz ardı etmek — arka plan görevleri sistem tarafından durdurulabilir.

SSS

  • Cihazın API level'ını nasıl öğrenirim? — Kodda: Build.VERSION.SDK_INT; ayarlarda: Telefon hakkında → Android sürümü (kesin API için ADB'ye bakmak daha iyidir).
  • Bugün API 10'u desteklemek gerekiyor mu? — Pratikte hayır: Gingerbread'e sahip cihazların payı ≈ %0, eski sürümlerin desteklenmesi geliştirmeyi zorlaştırır ve güvenliği düşürür.
  • Hangisini değiştirmek daha önemli: minSdk mi yoksa targetSdk mi? — targetSdk, uygulamanın yeni platformlardaki davranışı için önemlidir; minSdk, uygulamanın hangi eski cihazlarda çalışabileceğini belirler.

Sonuç: Android 10 (API 29) ve API level 10, Android'in farklı dönemleridir. Geliştirme sırasında her zaman açık min/target/compile SDK değerleriyle çalışın ve targetSdkVersion yükseltildiğinde uygulamanın davranışını test edin.