Zmiany dotyczące platformy zgodności (Android 14)

Rysunek 1. Na ekranie Zmiany zgodności aplikacji w opcjach programisty znajdziesz listę zmian, które możesz włączyć lub wyłączyć.

Na tej stronie opisujemy zmiany, które można włączać i wyłączać w ramach platformy zgodności w Androidzie 14 (API na poziomie 34). Korzystaj z tej listy w połączeniu z opcjami programisty i poleceniami ADB, aby testować i debugować aplikację podczas przygotowywania jej do obsługi Androida 14.

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

  • Testuj zmiany kierowane bez faktycznej zmiany parametru targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych zmian w zachowaniu ukierunkowanym, aby ocenić ich wpływ na dotychczasową aplikację.
  • Skup się w testach tylko na konkretnych zmianach. Zamiast wprowadzać wszystkie zmiany jednocześnie, możesz wyłączyć wszystkie zmiany kierowane z wyjątkiem tych, które chcesz przetestować.
  • Zarządzanie przełącznikami za pomocą adb Za pomocą poleceń adb możesz włączać i wyłączać zmiany, które można przełączać, w automatycznym środowisku testowym.
  • Szybsze debugowanie dzięki standardowym identyfikatorom zmian Każda zmiana, którą można włączyć lub wyłączyć, ma unikalny identyfikator i nazwę, które możesz wykorzystać do szybkiego debugowania przyczyny głównej w danych wyjściowych dziennika.

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

Zmiany w działaniu uwzględnione w systemie sprawdzania zgodności

Lista w tej sekcji zawiera zmiany, które można włączać i wyłączać, a które są uwzględnione w ramach zgodności w Androidzie 14.

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

Zmiany, które można włączać i wyłączać w systemie sprawdzania zgodności w Androidzie 14

ACCESS_SHARED_IDENTITY

Change ID: 259743961
Default State: Włączone dla wszystkich aplikacji.

Umożliwia dostęp do tożsamości aplikacji uruchamiającej, jeśli aplikacja wyraziła zgodę na udostępnianie swojej tożsamości przez uruchomienie tej aktywności z instancją ActivityOptions, w której wywołano ActivityOptions.setShareIdentityEnabled(boolean) z wartością true, lub jeśli identyfikator UID uruchomionej aktywności jest taki sam jak identyfikator UID aplikacji uruchamiającej. Gdy ta zmiana jest włączona i spełnione jest jedno z tych wymagań, działanie może uzyskać dostęp do identyfikatora UID i nazwy pakietu aplikacji uruchamiającej za pomocą odpowiednio Activity.getLaunchedFromUid()Activity.getLaunchedFromPackage().

ANR_PRE_UDC_APIS_ON_SLOW_RESPONSES

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

Po włączeniu tej opcji wyświetla się komunikat „Aplikacja nie odpowiada” (ANR), gdy aplikacje wolno reagują na interfejsy API i funkcje z Androida 13 (poziom API 33) lub starszego.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) i nowsze wersje umożliwia sprawdzanie dostępu do uprawnień dla wywołującego identyfikatora UID we wszystkich interfejsach API związanych z synchronizacją.

CAMERA_MIC_INDICATORS_NOT_PRESENT

Identyfikator zmiany: 162547999
Stan domyślny: wyłączony dla wszystkich aplikacji.

Wskazuje, że to urządzenie obsługuje wskaźniki kamery i mikrofonu. Wartość to false, jeśli jest obecna, ponieważ metoda CompatChanges#isChangeEnabled zwraca true, jeśli identyfikator zmiany nie jest obecny.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

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

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

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w zachowaniu Androida 14, która opisuje dodatkowe ograniczenia dotyczące uruchamiania aktywności w tle.

DETACH_THROWS_ISE_ONLY

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

Flaga do bramy prawidłowego wyjątku zgłoszonego przez #detachImage.

#detachImage jest udokumentowana jako zgłaszająca IllegalStateException w przypadku błędu. Natywna metoda pomocnicza zgłaszała RuntimeException w przypadku porzucenia powierzchni podczas odłączania Image.

To wcześniej nieudokumentowane zachowanie wyjątku jest kontynuowane w Androidzie 13 (API na poziomie 33).

Po Androidzie 13 (API na poziomie 33) natywna metoda pomocnicza zgłasza tylko wyjątek IllegalStateExceptions zgodnie z dokumentacją.

Gdy ta zmiana jest włączona, #detachImage zgłasza tylko błąd IllegalStateException, jeśli podczas odłączania obrazu wystąpią błędy. W przypadku aplikacji kierowanych na Androida 13 (API na poziomie 33) i starszego działanie pozostaje bez zmian.

DOWNSCALED

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

Ta zmiana jest punktem kontrolnym wszystkich zmian dotyczących zmniejszania bufora w poszczególnych aplikacjach. Włączenie tej zmiany umożliwia zastosowanie tych współczynników skalowania:

Gdy ta zmiana jest włączona w przypadku pakietu aplikacji, rozmiar aplikacji jest wymuszany do najwyższego włączonego współczynnika skalowania. Jeśli np. włączone są zarówno 80%, jak i 70% (DOWNSCALE_80DOWNSCALE_70), używana jest wartość 80%. Jeśli ta zmiana i DOWNSCALED_INVERSE są włączone, pierwszeństwo ma DOWNSCALED_INVERSE, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALED_INVERSE

Identyfikator zmiany: 273564678
Stan domyślny: wyłączony dla wszystkich aplikacji.

Ta zmiana jest punktem kontrolnym wszystkich zmian dotyczących odwrotnego zmniejszania bufora w poszczególnych aplikacjach. Włączenie tej zmiany umożliwia odwrotne zastosowanie tych współczynników skalowania (czyli rozdzielczość jest zwiększana):

Gdy ta zmiana jest włączona w przypadku pakietu aplikacji, aplikacja jest wymuszona zmieniana na najniższy włączony współczynnik skalowania. Na przykład jeśli włączone są zarówno 80%, jak i 70% (DOWNSCALE_80DOWNSCALE_70), używana jest wartość 80%, ponieważ po zastosowaniu odwrotnym współczynnik skalowania 80% jest równy 125%, co jest mniejsze niż 142,86% skalowania, które jest stosowane po zastosowaniu odwrotnym współczynnika skalowania 70%. Jeśli ta zmiana i DOWNSCALED są włączone, pierwszeństwo ma DOWNSCALED_INVERSE, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALE_30

Identyfikator zmiany: 189970040
Stan domyślny: wyłączony dla wszystkich aplikacji.

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej stanowiącej 30% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej stanowiącej 333,33% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_35

Identyfikator zmiany: 189969749
Stan domyślny: wyłączony dla wszystkich aplikacji.

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej stanowiącej 35% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 285,71% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_40

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

Jeśli opcja DOWNSCALED jest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 40% rozdzielczości rzeczywistego wyświetlacza. Jeśli opcja DOWNSCALED_INVERSE jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej 250% większej niż rzeczywista rozdzielczość wyświetlacza.

DOWNSCALE_45

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

Jeśli opcja DOWNSCALED jest również włączona, wprowadzenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 45% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 222,22% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_50

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 50% rozdzielczości rzeczywistego wyświetlacza. Jeśli opcja DOWNSCALED_INVERSE jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o 200% większej rozdzielczości pionowej i poziomej niż rzeczywisty wyświetlacz.

DOWNSCALE_55

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 55% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 181,82% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_60

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 60% rozdzielczości rzeczywistego wyświetlacza. Jeśli opcja DOWNSCALED_INVERSE jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 166,67% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_65

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 65% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 153,85% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_70

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej stanowiącej 70% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 142,86% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_75

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 75% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 133,33% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_80

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 80% rozdzielczości rzeczywistego wyświetlacza. Jeśli opcja DOWNSCALED_INVERSE jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej większej o 125% od rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_85

Identyfikator zmiany: 189969734
Stan domyślny: wyłączony dla wszystkich aplikacji.

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 85% rozdzielczości rzeczywistego wyświetlacza. Jeśli opcja DOWNSCALED_INVERSE jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 117,65% rozdzielczości rzeczywistego wyświetlacza.

DOWNSCALE_90

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

Jeśli opcja DOWNSCALED jest również włączona, włączenie tej zmiany w przypadku pakietu wymusza założenie, że aplikacja działa na wyświetlaczu o rozdzielczości pionowej i poziomej równej 90% rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu wymusza na aplikacji założenie, że działa na wyświetlaczu o rozdzielczości pionowej i poziomej wynoszącej 111,11% rozdzielczości rzeczywistego wyświetlacza.

ENABLE_PLATFORM_MDNS_BACKEND

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

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

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

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

Sprawdzanie certyfikowanych samodzielnie funkcji jest włączone 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łączony w przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) lub nowszego.

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) i nowsze wersje wymaga deklarowania w pliku manifestu potrzeb związanych z widocznością pakietu, aby uzyskać dostęp do interfejsów API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) lub nowszego wymaga, aby wszystkie pliki ładowane dynamicznie były oznaczone jako tylko do odczytu. Zapobiega to nieoczekiwanemu nadpisaniu plików ładowanych dynamicznie przez nieuczciwe podmioty.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w Androidzie 14, która opisuje bezpieczniejsze dynamiczne wczytywanie kodu.

ENFORCE_STRICT_QUERY_BUILDER

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

Gdy ta opcja jest włączona, SQLiteQueryBuilder weryfikuje wszystkieCalendarProvider2 wybory zapytań pod kątem złośliwych argumentów.

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

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

Dokładne alarmy oczekujące na wywołanie zwrotne AlarmManager.OnAlarmListener są usuwane, gdy aplikacja wywołująca przechodzi w stan buforowany.

Więcej informacji o zmianach w alarmach precyzyjnych w Androidzie 14 znajdziesz w artykule Planowanie alarmów precyzyjnych jest domyślnie odrzucane.

FGS_TYPE_CHECK_FOR_INSTANT_APPS

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

Po włączeniu aplikacji natychmiastowe muszą określać odpowiednie typy usług działających na pierwszym planie w przypadku wszystkich usług zadeklarowanych w pliku manifestu aplikacji.

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

FGS_TYPE_NONE_DEPRECATION_CHANGE_ID

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

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (API na poziomie 34) i nowsze, które uruchamiają usługę na pierwszym planie za pomocą wycofanego typu FOREGROUND_SERVICE_TYPE_NONE, powodują wyświetlenie ostrzeżenia w dzienniku.

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

FGS_TYPE_NONE_DISABLED_CHANGE_ID

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

Gdy ta funkcja jest włączona, aplikacje kierowane na Androida 14 (API na poziomie 34) i nowsze, które uruchamiają usługę na pierwszym planie za pomocą wycofanego typu FOREGROUND_SERVICE_TYPE_NONE, powodują wyjątek.

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

FGS_TYPE_PERMISSION_CHANGE_ID

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

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (API na poziomie 34) i nowsze, które uruchamiają usługę na pierwszym planie bez wymaganych uprawnień powiązanych z typem tej usługi, powodują wystąpienie błędu SecurityException.

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

FORCE_DISABLE_HEVC_SUPPORT

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

Wymuś wyłączenie obsługi HEVC w aplikacji. Aplikacje powinny deklarować obsługiwane funkcje multimedialne w pliku manifestu, ale ta flaga może wymusić, aby aplikacja nie obsługiwała HEVC, a tym samym wymusić transkodowanie podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tego flagi zastępuje wszelkie domyślne ustawienia systemu operacyjnego w przypadku aplikacji. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli ta flaga i flaga FORCE_ENABLE_HEVC_SUPPORT są włączone, system operacyjny ignoruje obie flagi.

FORCE_ENABLE_HEVC_SUPPORT

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

Wymuszanie włączenia obsługi formatu HEVC w aplikacji. Aplikacje powinny deklarować obsługiwane funkcje multimedialne w pliku manifestu, ale ta flaga może służyć do wymuszania obsługi formatu HEVC w aplikacji, a tym samym do unikania transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w tym formacie. Ustawienie tego flagi zastępuje wszelkie domyślne ustawienia aplikacji na poziomie systemu operacyjnego. Domyślnie jest wyłączona, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli ta flaga i flaga FORCE_DISABLE_HEVC_SUPPORT są włączone, system operacyjny ignoruje obie flagi.

FORCE_NON_RESIZE_APP

Change ID: 181146395
Default State: Wyłączone w przypadku wszystkich aplikacji.

Wymusza brak możliwości zmiany rozmiaru pakietów, do których jest stosowany.

FORCE_RESIZE_APP

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

Wymusza zmianę rozmiaru pakietów, do których jest stosowany. Zezwalamy na zmianę rozmiaru tylko w trybie pełnoekranowym, ale nie wymuszamy na aplikacji przejścia do trybu wielu okien z możliwością zmiany rozmiaru.

GWP_ASAN

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

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

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

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) lub nowszego komponenty muszą być eksportowane, aby można było je wywoływać za pomocą niejawnych intencji. Jeśli komponent nie zostanie wyeksportowany i wywołany, zostanie usunięty z listy odbiorców. Dotyczy to w szczególności aktywności i transmisji.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w zachowaniu Androida 14, która opisuje ograniczenia dotyczące niejawnych i oczekujących intencji.

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

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

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie dotyczącej zmian w zachowaniu Androida 14, która opisuje, jak wymagana jest zgoda użytkownika w przypadku każdej MediaProjection sesji przechwytywania.

NATIVE_HEAP_ZERO_INIT

Zmień identyfikator: 178038272
Stan domyślny: wyłączony dla wszystkich aplikacji.

Włącz automatyczne zerowanie pamięci sterty natywnej podczas alokacji.

NATIVE_MEMTAG_ASYNC

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

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

NATIVE_MEMTAG_SYNC

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

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

OVERRIDE_ANY_ORIENTATION

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

Po włączeniu tej zmiany można zastosować te ustawienia zastępujące orientację niezależnie od orientacji żądanej przez aktywność:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

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

Po włączeniu ta zmiana wymusza na pakietach, do których jest stosowana, ignorowanie bieżącej wartości android:resizeableActivity, a także pakietu SDK docelowego równego lub mniejszego niż M i uznawanie aktywności za niemożliwą do zmiany rozmiaru. W tym przypadku wartość obrotu i przycięcia kamery zależy tylko od potrzebnej kompensacji z uwzględnieniem bieżącego obrotu wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Zmień identyfikator: 189229956
Stan domyślny: wyłączony dla wszystkich aplikacji.

Gdy ta zmiana jest włączona, pakiety, do których jest stosowana, zastępują domyślne zachowanie aparatu związane z obracaniem i przycinaniem i zawsze zwracają wartość CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Identyfikator zmiany: 266124927
Stan domyślny: wyłączony dla wszystkich aplikacji.

Włącza SCREEN_ORIENTATION_REVERSE_LANDSCAPE w przypadku aplikacji, do której jest stosowana. Jeśli opcja OVERRIDE_ANY_ORIENTATION nie jest włączona, SCREEN_ORIENTATION_REVERSE_LANDSCAPE jest używana tylko wtedy, gdy aktywność określa orientację poziomą. Włączenie tej zmiany może pomóc w testowaniu działania aplikacji pod kątem różnic między urządzeniami, na których orientacja pozioma odpowiada Surface.ROTATION_90, a urządzeniami, na których odpowiada Surface.ROTATION_270.

OVERRIDE_MIN_ASPECT_RATIO

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

Ta zmiana jest punktem kontrolnym wszystkich zmian, które wymuszają określony minimalny współczynnik proporcji. Włączenie tej zmiany umożliwia stosowanie tych minimalnych współczynników proporcji:

Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, minimalne proporcje podane w pliku manifestu aplikacji zostaną zastąpione największymi włączonymi proporcjami, chyba że wartość w pliku manifestu aplikacji jest wyższa.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Identyfikator zmiany: 218959984
Stan domyślny: wyłączony dla wszystkich aplikacji.

Gdy ta opcja jest włączona, zastępuje ograniczenie minimalnego współczynnika proporcji w trybie pełnoekranowym w orientacji pionowej, aby wykorzystać całą dostępną przestrzeń ekranu.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

Gdy włączona jest też opcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w przypadku pakietu ustawia minimalny współczynnik proporcji aktywności na dużą wartość zdefiniowaną przez OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

Gdy włączona jest też opcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w przypadku pakietu ustawia minimalny współczynnik proporcji aktywności na średnią wartość określoną 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.

Gdy włączona jest też opcja OVERRIDE_MIN_ASPECT_RATIO, ta zmiana ogranicza inne zmiany, które wymuszają minimalny współczynnik proporcji aktywności do określonej wartości, np. OVERRIDE_MIN_ASPECT_RATIO_LARGE i OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, do aktywności, które mają też orientację pionową.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

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

Po włączeniu ta zmiana wyklucza pakiety, które są stosowane do z ignorowania ograniczeń orientacji, które mogą ustawić producenci urządzeń.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

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

Włącza SCREEN_ORIENTATION_NOSENSOR w przypadku aplikacji, do której jest stosowana. Jeśli nie jest też włączona opcja OVERRIDE_ANY_ORIENTATION, opcja 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łączony w przypadku wszystkich aplikacji.

Włącza SCREEN_ORIENTATION_PORTRAIT w przypadku aplikacji, do której jest stosowana. Jeśli nie jest też włączona opcja OVERRIDE_ANY_ORIENTATION, opcja 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łączać. Jest rejestrowany tylko przez system sprawdzania zgodności.

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

REJECT_NEGATIVE_NETWORK_ESTIMATES

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

Gdy to ustawienie jest włączone, wymaga, aby szacunkowa liczba bajtów w sieci była nieujemna.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) i nowsze wersje wymaga, aby zadanie hostingu określało ograniczenie sieciowe, jeśli dołączony element JobWorkItem wskazuje na korzystanie z sieci.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) i nowsze wersje podczas planowania zadania z ograniczeniem dotyczącym łączności wymagane jest określenie uprawnień INTERNETACCESS_NETWORK_STATE.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

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

W przypadku aplikacji kierowanych na Androida 14 (API na poziomie 34) lub nowszego system zgłasza wyjątek, jeśli aplikacja nie wdroży prawidłowo wszystkich niezbędnych interfejsów API przesyłania danych podczas określania zadania przesyłania danych inicjowanego przez użytkownika.

Więcej informacji o tej zmianie znajdziesz na stronie opisującej, jak przenieść usługi działające na pierwszym planie do zadań przesyłania danych inicjowanych przez użytkownika.

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.