Zmiany platformy zgodności (Android 14)

Rysunek 1 Ekran Zmiany zgodności aplikacji w opcjach programisty zawiera listę zmian, które możesz przełączyć.

Na tej stronie opisujemy zmiany, które można przełączać, będące częścią struktury zgodności w Androidzie 14 (poziom API 34). Użyj tej listy w połączeniu z opcjami programisty i poleceniami ADB, aby przetestować i debugować aplikację w ramach przygotowań do wprowadzenia jej na rynek i kierowania na Androida 14.

Oto niektóre czynności, które można wykonać za pomocą narzędzi platformy zgodności:

  • Przetestuj docelowe zmiany bez zmiany wartości targetSdkVersion w aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych docelowych zmian działania i ocenić ich wpływ na istniejącą aplikację.
  • Skup się na testowaniu tylko konkretnych zmian. Zamiast wprowadzać wszystkie docelowe zmiany jednocześnie, przełączniki pozwalają wyłączyć wszystkie docelowe zmiany z wyjątkiem tych, które chcesz przetestować.
  • Zarządzanie przełącznikami w narzędziu adb Za pomocą poleceń adb możesz włączać i wyłączać przełączane zmiany w automatycznym środowisku testowym.
  • Szybsze debugowanie przy użyciu standardowych identyfikatorów zmian Każda z możliwością przełączania zmian ma unikalny identyfikator i nazwę, które pozwalają szybko debugować główną przyczynę w danych wyjściowych logu.

Szczegółowe informacje o korzystaniu z narzędzi w każdym z tych przypadków znajdziesz w artykule Narzędzia platformy zgodności.

Zmiany w działaniu uwzględnione w ramach zgodności

Lista w tej sekcji opisuje możliwe do zmiany zmiany uwzględnione w platformie zgodności w Androidzie 14.

Listę zmian możesz filtrować według stanu domyślnego.

Zmiany w platformie zgodności z możliwością przełączania w Androidzie 14

ACCESS_SHARED_IDENTITY

Identyfikator zmiany: 259743961
Stan domyślny: włączone w przypadku wszystkich aplikacji.

Przyznaje dostęp do tożsamości aplikacji uruchamiającej aplikację, jeśli aplikacja wyraziła zgodę na udostępnianie swojej tożsamości przez uruchomienie tego działania z użyciem instancji ActivityOptions, w przypadku której komponent ActivityOptions.setShareIdentityEnabled(boolean) został wywołany z wartością true, lub jeśli identyfikator UID uruchomionej aktywności jest taki sam jak identyfikator UID uruchomionej aplikacji. Gdy ta zmiana jest włączona i spełniony jest jeden z tych wymagań, aktywność może uzyskać dostęp do identyfikatora UID i nazwy pakietu uruchamiającej aplikację za pomocą odpowiednio Activity.getLaunchedFromUid() i Activity.getLaunchedFromPackage().

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

Identyfikator zmiany: 258236856
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, w systemie Android 13 (poziom interfejsu API 33) lub niższym będzie się wyświetlać komunikat „Aplikacja nie odpowiada”, gdy aplikacje z opóźnieniem odpowiadają na interfejsy API i funkcje.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

Identyfikator zmiany: 207133734
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego, umożliwia sprawdzanie dostępu urzędowego dla wywołującego UID wszystkich interfejsów API związanych z synchronizacją.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Identyfikator zmiany: 162547999
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Wskazuje, że urządzenie obsługuje wskaźniki aparatu i mikrofonu. Wartość wynosi false, ponieważ metoda CompatChanges#isChangeEnabled zwraca true, jeśli nie podano identyfikatora zmiany.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Identyfikator zmiany: 244637991
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy aplikacja wysyła PendingIntent za pomocą PendingIntent#send() lub podobnych metod, aplikacja musi teraz włączyć tę funkcję, jeśli chce przyznać własne uprawnienia do uruchamiania aktywności w tle, aby uruchomić intencję oczekującą.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie Zmiany w działaniu Androida 14 dotyczącej dodatkowych ograniczeń rozpoczynania działań w tle.

DETACH_THROWS_ISE_ONLY

Identyfikator zmiany: 236825255
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Poprawny wyjątek flagi do bramki zgłoszony przez użytkownika #detachImage.

W przypadku błędu obiekt #detachImage jest opisany jako zgłaszanie błędu IllegalStateException, a natywna metoda pomocnicza zwraca RuntimeException, jeśli podczas odłączania platformy Image została porzucona powierzchnia.

To wcześniej nieudokumentowane działanie w ramach wyjątku jest kontynuowane do poziomu Androida 13 (poziom interfejsu API 33).

Po Androidzie 13 (poziom interfejsu API 33) natywna metoda pomocnicza wywołuje metodę IllegalStateExceptions tylko zgodnie z dokumentacją.

Po włączeniu tej zmiany #detachImage zgłasza IllegalStateException tylko wtedy, gdy podczas odłączania obrazu wystąpią błędy. Sposób działania pozostaje bez zmian w przypadku aplikacji kierowanych na Androida 13 (poziom interfejsu API 33) i starszych.

DOWNSCALED

Identyfikator zmiany: 168419799
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Ta zmiana umożliwia obserwowanie wszystkich zmian skalowania buforów w buforze aplikacji. Włączenie tej zmiany umożliwia zastosowanie tych współczynników skalowania:

Gdy ta zmiana zostanie włączona dla pakietu aplikacji, rozmiar aplikacji zostanie wymuszony na najwyższym, włączonym współczynniku skalowania. Na przykład wartość 80% jest używana, jeśli włączone jest zarówno 80%, jak i 70% (DOWNSCALE_80 i DOWNSCALE_70). Gdy zarówno ta zmiana, jak i parametr DOWNSCALED_INVERSE są włączone, DOWNSCALED_INVERSE ma pierwszeństwo, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALED_INVERSE

Identyfikator zmiany: 273564678
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Ta zmiana ma wpływ na wszystkie zmiany odwrócone skalowania w buforze poszczególnych aplikacji. Włączenie tej zmiany umożliwia odwrotne zastosowanie tych współczynników skalowania (tzn. zwiększa rozdzielczość):

Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, rozmiar aplikacji zostanie wymuszony na poziomie najniższego, włączonego współczynnika skalowania. Na przykład wartość 80% jest używana, jeśli włączono zarówno 80%, jak i 70% (DOWNSCALE_80 oraz DOWNSCALE_70), ponieważ w odwrotnym zastosowaniu współczynnik skalowania 80% równa się 125%, czyli mniej niż przy skalowaniu 142,86% stosowanego przy odwrotnym stosowaniu współczynnika skalowania 70%. Gdy zarówno ta zmiana, jak i parametr DOWNSCALED są włączone, DOWNSCALED_INVERSE ma pierwszeństwo, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALE_30

Identyfikator zmiany: 189970040
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 30% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie o rozdzielczości wynoszącej 333,33% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_35

Identyfikator zmiany: 189969749
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 35% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie o rozdzielczości wynoszącej 285,71% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_40

Identyfikator zmiany: 189970038
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości wynoszącej 40% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa ona na ekranie o rozdzielczości pionowej i poziomej o rozdzielczości wynoszącej 250% rozdzielczości pionowego i poziomego wyświetlacza.

DOWNSCALE_45

Identyfikator zmiany: 189969782
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 45% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości wynoszącej 222,22% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_50

Identyfikator zmiany: 176926741
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 50% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji założenia, że działa ona na wyświetlaczu o rozdzielczości pionowej i poziomej w rozdzielczości wynoszącej 200% rozdzielczości pionowego i poziomego wyświetlacza.

DOWNSCALE_55

Identyfikator zmiany: 189970036
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 55% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości 181,82% odtwarzanej w pionie i poziomie rzeczywistego wyświetlacza.

DOWNSCALE_60

Identyfikator zmiany: 176926771
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości wynoszącej 60% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości wynoszącej 166,67% w pionie i poziomie rzeczywistego wyświetlacza.

DOWNSCALE_65

Identyfikator zmiany: 189969744
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 65% rozdzielczości obrazu w pionie i poziomie rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie o rozdzielczości wynoszącej 153,85% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_70

Identyfikator zmiany: 176926829
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 70% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości 142,86% w pionie i poziomie rzeczywistego wyświetlacza.

DOWNSCALE_75

Identyfikator zmiany: 189969779
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 75% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie o rozdzielczości wynoszącej 133,33% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_80

Identyfikator zmiany: 176926753
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 80% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej w rozdzielczości wynoszącej 125% rozdzielczości pionowego i poziomego wyświetlacza.

DOWNSCALE_85

Identyfikator zmiany: 189969734
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 85% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na wyświetlaczu o rozdzielczości wynoszącej 117,65% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

DOWNSCALE_90

Identyfikator zmiany: 182811243
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli włączona jest również opcja DOWNSCALED, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie, który ma 90% rozdzielczości pionowego i poziomego ekranu rzeczywistego. Jeśli włączona jest również właściwość DOWNSCALED_INVERSE, włączenie tej zmiany w pakiecie wymusza na aplikacji zakładanie, że działa na ekranie o rozdzielczości wynoszącej 111,11% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza.

ENABLE_PLATFORM_MDNS_BACKEND

Identyfikator zmiany: 270306772
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Aplikacje kierowane na Androida 14 lub nowszego używają jako backendu implementacji mDNS zintegrowanej z platformą. Aplikacje kierowane na wcześniejsze wersje nadal korzystają ze starszego backendu wykrywania usług sieciowych (NSD) (ze starszym demonem natywnym NsdManager).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

Identyfikator zmiany: 266524688
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Samodzielna weryfikacja możliwości jest włączona w przypadku aplikacji kierowanych na Androida 14 lub nowszego. Więcej informacji znajdziesz w sekcji NetworkCapabilities.

ENFORCE_PACKAGE_VISIBILITY_FILTERING

Identyfikator zmiany: 154726397
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego, aplikacje muszą zadeklarować w pliku manifestu potrzeby w zakresie widoczności pakietów umożliwiające dostęp do interfejsów API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

Identyfikator zmiany: 218865702
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowsze wersje wymaga, aby wszystkie dynamicznie ładowane pliki były oznaczone jako tylko do odczytu. Dzięki temu pliki ładowane dynamicznie nie zostaną nieoczekiwanie zastępowane przez szkodliwe podmioty.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie Zmiany w działaniu Androida 14 dotyczącej bezpieczniejszego dynamicznego wczytywania kodu.

ENFORCE_STRICT_QUERY_BUILDER

Identyfikator zmiany: 143231523
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, SQLiteQueryBuilder weryfikuje wszystkie wybrane zapytania w usłudze CalendarProvider2 pod kątem szkodliwych argumentów.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Identyfikator zmiany: 265195908
Stan domyślny: włączony w przypadku wszystkich aplikacji.

Precyzyjne alarmy oczekujące na wywołanie zwrotne AlarmManager.OnAlarmListener są odrzucane, gdy aplikacja wywołująca zostanie zapisana w pamięci podręcznej.

Więcej informacji o zmianach w alarmach ścisłych w Androidzie 14 znajdziesz w artykule Ustawianie harmonogramu alarmów precyzyjnych jest domyślnie odrzucane.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

Identyfikator zmiany: 261055255
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje błyskawiczne muszą określać odpowiednie typy usług na pierwszym planie dla wszystkich usług zadeklarowanych w pliku manifestu aplikacji.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej zmiany dotyczące typów usług na pierwszym planie.

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

Identyfikator zmiany: 255042465
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom interfejsu API 34) i nowszego, które uruchamiają usługę na pierwszym planie przy użyciu wycofanego typu FOREGROUND_SERVICE_TYPE_NONE, skutkują ostrzeżeniem w logu.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej zmiany dotyczące typów usług na pierwszym planie.

FGS_TYPE_NONE_DISABLED_CHANGE_ID

Identyfikator zmiany: 255038118
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom interfejsu API 34) lub nowszego, które uruchamiają usługę na pierwszym planie przy użyciu wycofanego typu FOREGROUND_SERVICE_TYPE_NONE, będą traktowane jako wyjątek.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej zmiany dotyczące typów usług na pierwszym planie.

FGS_TYPE_PERMISSION_CHANGE_ID

Identyfikator zmiany: 254662522
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom interfejsu API 34) lub nowszego, które uruchamiają usługę na pierwszym planie bez wymaganych uprawnień powiązanych z typem tej usługi, skutkują wyświetleniem SecurityException.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej zmiany dotyczące typów usług na pierwszym planie.

FORCE_DISABLE_HEVC_SUPPORT

Identyfikator zmiany: 174227820
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Wymuszaj wyłączenie obsługi multimediów HEVC przez aplikację. Aplikacje powinny zadeklarować w pliku manifestu obsługiwane możliwości związane z multimediami, ale za pomocą tej flagi można wymusić brak obsługi HEVC, dlatego wymuszanie transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tej flagi zastępuje wszystkie domyślne ustawienia systemu operacyjnego dla aplikacji. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli włączona jest zarówno ta flaga, jak i FORCE_ENABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi.

FORCE_ENABLE_HEVC_SUPPORT

Identyfikator zmiany: 174228127
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Wymuś włączenie obsługi funkcji multimediów HEVC w aplikacji. Aplikacje powinny zadeklarować obsługiwane możliwości multimediów w pliku manifestu, ale tej flagi można użyć do wymuszenia w aplikacji obsługi HEVC, dzięki czemu unikniesz transkodowania podczas korzystania z multimediów zakodowanych w HEVC. Ustawienie tej flagi zastępuje wszystkie domyślne ustawienia na poziomie systemu operacyjnego dla aplikacji. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli włączona jest zarówno ta flaga, jak i zasada FORCE_DISABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi.

FORCE_NON_RESIZE_APP

Identyfikator zmiany: 181146395
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Wymusza, aby w pakietach, do których jest stosowany, nie można było zmieniać ich rozmiaru.

FORCE_RESIZE_APP

Identyfikator zmiany: 174042936
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Wymusza zmianę rozmiaru pakietów, do których jest stosowany. Zmiana rozmiaru jest dozwolona tylko w trybie wyświetlania okien na pełnym ekranie. Aplikacja nie wymusza jednak przejścia w tryb wielu okien z możliwością zmiany rozmiaru.

GWP_ASAN

Identyfikator zmiany: 145634846
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Umożliwia wykrywanie błędów w próbkowanej pamięci natywnej w aplikacjach.

Więcej informacji o korzystaniu z GWP-ASan znajdziesz w przewodniku GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

Identyfikator zmiany: 229362273
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego, komponenty muszą być eksportowane, aby mogły być wywoływane za pomocą intencji niejawnych. Jeśli komponent nie zostanie wyeksportowany ani wywołany, zostanie usunięty z listy odbiorców. Dotyczy to działań i transmisji.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie Zmiany w działaniu Androida 14 poświęconej ograniczeniom intencji niejawnych i oczekujących.

Identyfikator zmiany: 266201607
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego aplikacje muszą prosić użytkownika o zgodę przed każdą sesją przechwytywania MediaProjection.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie Zmiany w działaniu Androida 14 poświęconej wymaganiu zgody użytkownika na potrzeby każdej sesji przechwytywania MediaProjection.

NATIVE_HEAP_ZERO_INIT

Identyfikator zmiany: 178038272
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Włącz automatyczne zerowe inicjowanie alokacji natywnej pamięci sterty.

NATIVE_MEMTAG_ASYNC

Identyfikator zmiany: 145772972
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Włącz w tym procesie asynchroniczne sprawdzanie tagów pamięci (ASYNC). Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie ARM Memory Grouping Extension (MTE).

NATIVE_MEMTAG_SYNC

Identyfikator zmiany: 177438394
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Włącza synchroniczne (SYNC) sprawdzanie tagów pamięci w tym procesie. Ta flaga ma wpływ tylko na sprzęt obsługujący rozszerzenie ARM Memory Grouping Extension (MTE). Jeśli włączona jest zarówno opcja NATIVE_MEMTAG_ASYNC, jak i ta opcja, ta opcja ma pierwszeństwo, a MTE jest włączone w trybie SYNC.

OVERRIDE_ANY_ORIENTATION

Identyfikator zmiany: 265464455
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Włączenie tej opcji umożliwia stosowanie następujących zastąpień orientacji niezależnie od orientacji żądanej przez działanie:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Identyfikator zmiany: 191514214
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, ta zmiana wymusza, aby stosowane przez nią pakiety ignorowały bieżącą wartość android:resizeableActivity oraz docelowy pakiet SDK równy M lub niższym oraz uznały tę aktywność za niemożliwą do zmiany rozmiaru. W tym przypadku wartość obracania i przycięcia kamery zależy tylko od wymaganej kompensacji przy obecnym obrocie wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Identyfikator zmiany: 189229956
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, ta zmiana wymusza na pakietach, do których jest stosowane, zastąpienie domyślnego zachowania kamery dotyczącej obracania i przycinania oraz zawsze zwracanie wartości CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Identyfikator zmiany: 266124927
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Włącza SCREEN_ORIENTATION_REVERSE_LANDSCAPE w aplikacji, do której jest zastosowany. Jeśli nie włączono również OVERRIDE_ANY_ORIENTATION, właściwość SCREEN_ORIENTATION_REVERSE_LANDSCAPE jest używana tylko wtedy, gdy aktywność ma orientację poziomą. Włączenie tej zmiany pomoże Ci testować działanie aplikacji pod kątem różnic między urządzeniami, na których orientacja pozioma odpowiada wartości Surface.ROTATION_90, a urządzeniami, na których odpowiada ona Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

Identyfikator zmiany: 174042980
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Ta zmiana to strażnik wszystkich zmian, które wymuszają użycie danego minimalnego współczynnika proporcji. Włączenie tej zmiany umożliwia stosowanie tych minimalnych formatów obrazu:

Po włączeniu tej zmiany w pakiecie aplikacji minimalny współczynnik proporcji podany w pliku manifestu aplikacji zostanie zastąpiony największym włączonym współczynnikiem, chyba że wartość w pliku manifestu aplikacji jest wyższa.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Identyfikator zmiany: 218959984
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, zastępuje minimalne ograniczenie formatu obrazu na pełnym ekranie w orientacji pionowej, aby wykorzystać całą dostępną przestrzeń na ekranie.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

Identyfikator zmiany: 180326787
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli także włączona jest właściwość OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w pakiecie powoduje ustawienie minimalnego współczynnika proporcji działania na dużą wartość zdefiniowaną przez OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

Identyfikator zmiany: 180326845
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Jeśli także włączona jest właściwość OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany dla pakietu powoduje ustawienie minimalnego współczynnika proporcji działania na średnią wartość zdefiniowaną przez OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Identyfikator zmiany: 203647190
Stan domyślny: włączony w przypadku wszystkich aplikacji.

Jeśli dodatkowo włączona jest właściwość OVERRIDE_MIN_ASPECT_RATIO, ta zmiana ogranicza wszelkie inne zmiany, które wymuszają minimalny współczynnik proporcji działania do określonej wartości, np. OVERRIDE_MIN_ASPECT_RATIO_LARGE lub OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, do aktywności o orientacji pionowej.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Identyfikator zmiany: 236283604
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, powoduje wykluczenie pakietów, do których są stosowane, z ograniczeń ignorowania orientacji, które mogą ustawić producenci urządzeń.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Identyfikator zmiany: 265451093
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Włącza SCREEN_ORIENTATION_NOSENSOR w aplikacji, do której jest zastosowany. Jeśli nie włączono również OVERRIDE_ANY_ORIENTATION, wartość SCREEN_ORIENTATION_NOSENSOR jest używana tylko wtedy, gdy aktywność nie określa żadnej innej stałej orientacji.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Identyfikator zmiany: 265452344
Stan domyślny: wyłączona w przypadku wszystkich aplikacji.

Włącza SCREEN_ORIENTATION_PORTRAIT w aplikacji, do której jest zastosowany. Jeśli nie włączono również OVERRIDE_ANY_ORIENTATION, wartość SCREEN_ORIENTATION_PORTRAIT jest używana tylko wtedy, gdy aktywność nie określa żadnej innej stałej orientacji.

RATE_LIMIT_TOASTS

Identyfikator zmiany: 174840628
Stan domyślny: tej zmiany nie można przełączyć. Jest rejestrowany tylko przez platformę zgodności.

Umożliwia ograniczenie liczby wywołań Toast.show(), aby zapobiec nadmiernemu obciążeniu użytkownika zbyt dużą liczbą powiadomień w ograniczonym czasie. Każda próba wyświetlenia większej liczby powiadomień niż dozwolona w określonym przedziale czasu powoduje odrzucenie komunikatu.

REJECT_NEGATIVE_NETWORK_ESTIMATES

Identyfikator zmiany: 253665015
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

Gdy ta opcja jest włączona, szacowane bajty sieciowe muszą być nieujemne.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Identyfikator zmiany: 241104082
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego wymaga w zadaniu hostingu określenia ograniczenia sieci, jeśli uwzględniona wartość JobWorkItem wskazuje wykorzystanie sieci.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

Identyfikator zmiany: 271850009
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego, przy planowaniu zadań z ograniczeniem połączenia aplikacje muszą określić zarówno uprawnienia INTERNET, jak i ACCESS_NETWORK_STATE.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

Identyfikator zmiany: 255371817
Stan domyślny: włączona w przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowszego system zgłasza wyjątek, jeśli aplikacja nie poprawnie implementuje wszystkich niezbędnych interfejsów API przenoszenia danych podczas określania inicjowanego przez użytkownika zadania transferu danych.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej przenoszenie usług działających na pierwszym planie do inicjowanych przez użytkownika zadań przesyłania danych.

USE_EXPERIMENTAL_COMPONENT_ALIAS

Identyfikator zmiany: 196254758
Stan domyślny: wyłączony w przypadku wszystkich aplikacji.

Gdy ta opcja jest włączona, system zezwala pakietowi „android” na używanie aliasów komponentów.