Aktualizacje ograniczeń interfejsu innego niż SDK na Androidzie 13

Android 13 zawiera zaktualizowane listy ograniczonych list aplikacji spoza pakietu SDK oparte na współpracy z deweloperami aplikacji na Androida oraz do testów wewnętrznych. Gdy tylko jest to możliwe, dbamy o to, by alternatywne rozwiązania były dostępne publicznie, zanim wprowadzimy ograniczenia w interfejsach innych niż SDK.

Jeśli Twoja aplikacja nie jest kierowana na Androida 13, niektóre z tych zmian mogą nie być od razu widoczne. Mimo że obecnie możesz korzystać z wybranych interfejsy inne niż SDK (w zależności od docelowego interfejsu API aplikacji, ), Korzystanie z dowolnej metody lub pola niezwiązanego z pakietem SDK zawsze wiąże się z dużym ryzykiem naruszenia .

Jeśli nie wiesz, czy Twoja aplikacja korzysta z interfejsów innych niż SDK, możesz przetestować aby się dowiedzieć. Jeśli Twoja aplikacja korzysta z interfejsów innych niż SDK, zacznij planować migracji do alternatywnych pakietów SDK. Rozumiemy jednak, że niektóre aplikacje z prawidłowymi zastosowaniami interfejsów innych niż SDK. Jeśli nie możesz znaleźć innej do interfejsu innego niż SDK w przypadku danej funkcji, musisz poprosić o utworzenie nowego publicznego interfejsu API.

Wyświetlanie listy zmian w Androidzie 13

Zmiany na liście w Androidzie 13 zaliczają się do tej kategorii:

Aby zobaczyć pełną listę interfejsów innych niż SDK na Androida 13, pobierz ten plik:

Plik: hiddenapi-flags.csv

Suma kontrolna SHA-256: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3

Interfejsy inne niż SDK, które są teraz blokowane w Androidzie 13

W poniższym polu kodu znajduje się lista wszystkich interfejsów spoza SDK, które nie były obsługiwane w Androidzie 12 (poziom interfejsu API 31), które są zablokowane w Androidzie 13 (poziom API 33). Ten te interfejsy znajdują się na liście max-target-s, więc aplikacja może używać tylko tych interfejsów: dla Androida 12 (poziom interfejsu API 31) lub starszego.

Naszym celem jest udostępnienie publicznych rozwiązań alternatywnych przed ograniczą interfejsy inne niż SDK. Rozumiemy, że Twoja aplikacja może mieć dla ich zastosowania. Jeśli interfejs używany przez aplikację w poprzednia wersja jest teraz zablokowana w Androidzie 13, poproś o nowe publiczne Interfejs API dla tego interfejsu.

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.