Hedef API şartı, uç uca ekran, yeni geri hareketi ve büyük ekran değişiklikleri için kısa bir kontrol listesi.
31 Ağustos 2026 itibarıyla Google Play’e gönderilen yeni uygulamalar ve güncellemeler Android 16 (API 36) hedeflemek zorunda. Güncellenmeyen uygulamalar için alt sınır API 35. Bunun altında kalan bir uygulama, daha yeni Android sürümü kullanan yeni kullanıcılara görünmüyor. Süre yetmeyenler Play Console’dan 1 Kasım 2026’ya kadar uzatma isteyebiliyor.
Kendi uygulamalarımı targetSdk 36’ya taşırken karşılaştığım dört değişikliği buraya not ediyorum.
1. Uç uca ekrandan (edge-to-edge) artık kaçış yok
Android 15’te windowOptOutEdgeToEdgeEnforcement ile geçici olarak eski görünümde kalabiliyordunuz. API 36 hedefleyen bir uygulama Android 16 cihazda çalıştığında bu ayar yok sayılıyor. Uygulama durum çubuğunun ve gezinme çubuğunun altına çiziliyor.
Compose kullanıyorsanız yapılacak iş genelde şu:
override fun onCreate(savedInstanceState: Bundle?) {
enableEdgeToEdge()
super.onCreate(savedInstanceState)
setContent {
Scaffold { innerPadding ->
MainScreen(modifier = Modifier.padding(innerPadding))
}
}
}
Scaffold kullanmayan ekranlarda Modifier.windowInsetsPadding(WindowInsets.systemBars) ya da safeDrawingPadding() ekleyin. Özellikle alttaki butonların gezinme çubuğunun altında kalıp kalmadığını kontrol edin.
2. onBackPressed() artık çağrılmıyor
API 36 hedefleyen bir uygulamada, Android 16 cihazlarda tahmine dayalı geri (predictive back) animasyonları varsayılan olarak açık. onBackPressed() çağrılmıyor ve KEYCODE_BACK olayı uygulamaya gelmiyor. Geri tuşunu yakalayıp “çıkmak için tekrar basın” gibi bir şey yapıyorsanız bu kod sessizce çalışmayı bırakır.
Compose tarafında çözüm BackHandler:
BackHandler(enabled = aramaAcik) {
aramaAcik = false
}
View tabanlı ekranlarda ise OnBackPressedDispatcher kullanın. Hemen geçemiyorsanız manifest’te android:enableOnBackInvokedCallback="false" ile geçici olarak eski davranışa dönebilirsiniz. Ancak bu kalıcı bir çözüm değil.
3. Büyük ekranlarda yön kilidi yok sayılıyor
En küçük genişliği 600 dp ve üzeri olan ekranlarda (tabletler, açık katlanabilir telefonlar) şu ayarlar artık etkisiz:
screenOrientation="portrait"ve benzeri yön kilitleriresizeableActivity="false"minAspectRatiovemaxAspectRatio
Uygulama tüm pencereyi dolduruyor. Sadece dikey düşünülmüş bir ekran yatay tablette açıldığında taşan veya ortada upuzun duran bileşenler görebilirsiniz. Test için emülatörde bir tablet profili açmak yeterli.
Oyunlar bu kuraldan muaf. Manifest’te android:appCategory="game" tanımlı uygulamalarda eski davranış sürüyor. Oyun geliştiriyorsanız bu satırın manifest’te gerçekten olduğunu kontrol etmeye değer.
4. elegantTextHeight yok sayılıyor
Android 15’te varsayılan olarak true gelen bu ayarı false yaparak eski kompakt yazı tipine dönenler vardı. Android 16 bu özelliği tamamen yok sayıyor. Türkçe metinlerde fark küçük, ama sabit yükseklikli metin kutularında satırların kesilip kesilmediğine bakın.
Kısa kontrol listesi
compileSdkvetargetSdkdeğerlerini 36 yap, AGP ve bağımlılıkları güncelle.- Her ekranı Android 16 emülatöründe aç; üst ve alt boşlukları kontrol et.
- Geri tuşunu yakalayan her yeri
BackHandlerveyaOnBackPressedDispatcher’a taşı. - Tablet emülatöründe yatay modda gez.
- Sürümü önce kapalı test kanalına yükle, Play Console’un ön kontrol raporuna bak.
Uygulamanızı API 36’ya taşımakta zorlanıyorsanız bana yazabilirsiniz.