Android 13, Android geliştiricileriyle yapılan ortak çalışmalar ve en son dahili testlere dayalı olarak güncellenmiş SDK dışı kısıtlanmış arayüz listeleri içerir. SDK olmayan arayüzleri kısıtlamadan önce mümkün olduğunca herkese açık alternatiflerin mevcut olduğundan emin oluruz.
Uygulamanız Android 13'ü hedeflemiyorsa bu değişikliklerin bazıları sizi hemen etkilemeyebilir. Ancak şu anda bazı SDK dışı arayüzleri kullanabilseniz de (uygulamanızın hedef API düzeyine bağlı olarak) SDK dışı bir yöntem veya alan kullanmak her zaman uygulamanızın bozulmasıyla ilgili yüksek risk taşır.
Uygulamanızın SDK dışı arayüzler kullanıp kullanmadığından emin değilseniz uygulamanızı test ederek öğrenebilirsiniz. Uygulamanız SDK olmayan arayüzleri kullanıyorsa SDK alternatiflerine geçişi planlamaya başlamanız gerekir. Bununla birlikte, bazı uygulamaların SDK dışı arayüzleri kullanmak için geçerli kullanım alanları olduğunu biliyoruz. Uygulamanızdaki bir özellik için SDK olmayan arayüz kullanmaya alternatif bulamıyorsanız yeni bir herkese açık API isteğinde bulunmanız gerekir.
Android 13 için liste değişiklikleri
Android 13'teki liste değişiklikleri aşağıdaki kategoriye girer:
- Android 12'de (API düzeyi 31) desteklenmeyen ve Android 13'te engellenen SDK dışı arayüzler.
Android 13 için SDK olmayan tüm arayüzlerin tam listesini görmek istiyorsanız aşağıdaki dosyayı indirin:
Dosya: hiddenapi-flags.csv
SHA-256 denetim toplamı: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
Android 13'te engellenen SDK dışı arayüzler
Aşağıdaki kod kutusunda, Android 12'de (API düzeyi 31) desteklenmeyen ve Android 13'te (API düzeyi 33) engellenen tüm SDK dışı arayüzler listelenmektedir. Yani bu arayüzler max-target-s listesine aittir. Bu nedenle, uygulamanız bu arayüzleri yalnızca Android 12 (API düzeyi 31) veya önceki sürümleri hedefliyorsa kullanabilir.
SDK dışı arayüzleri kısıtlamadan önce herkese açık alternatiflerin mevcut olduğundan emin olmak istiyoruz. Uygulamanızın bu arayüzleri kullanmak için geçerli bir kullanım alanı olabileceğini de biliyoruz. Uygulamanızın önceki bir sürümde kullandığı bir arayüz Android 13'te engelleniyorsa bu arayüz için yeni bir herkese açık API isteğinde bulunmanız gerekir.
Landroid/app/Activity;->setDisablePreviewScreenshots(Z)V # Use setRecentsScreenshotEnabled() instead. Landroid/os/PowerManager;->isLightDeviceIdleMode()Z # Use isDeviceLightIdleMode() instead. Landroid/os/Process;->setArgV0(Ljava/lang/String;)V # In general, do not try to change the process name. If you must change the process name (for instance, for debugging), you can use pthread_setname_np() instead, though be aware that doing this might confuse the system. Landroid/view/accessibility/AccessibilityInteractionClient;->clearCache(I)V # Use android.accessibilityservice.AccessibilityService#clearCache() instead.