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

Rysunek 1. Ekran Zmiany zgodności aplikacji w sekcji Deweloper zawiera listę zmian, które możesz zmienić.

Na tej stronie opisujemy zmiany, które można przełączać, które są częścią zgodności platformy w Androidzie 14 (poziom API 34). Korzystaj z tej listy w połączeniu z opcjami dla deweloperów i poleceniami ADB, aby testować i debugować aplikację podczas przygotowywania jej do obsługi i ustawienia jako docelowej wersji Androida 14.

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

  • Testowanie zmian docelowych bez faktycznej zmiany wartości targetSdkVersion aplikacji. Za pomocą przełączników możesz wymusić włączenie określonych ukierunkowanych zmian działania, aby ocenić ich wpływ na istniejącą aplikację.
  • Skup się na testowaniu tylko konkretnych zmian. Zamiast wprowadzić zmiany we wszystkich wybranych zmianach jednocześnie, za pomocą przełączników z wyjątkiem tych, które chcesz przetestować.
  • Zarządzaj przełącznikami za pomocą adb Za pomocą poleceń adb możesz: włączanie i wyłączanie możliwych do przełączenia zmian w teście automatycznym dla środowiska.
  • Szybsze debugowanie przy użyciu standardowych identyfikatorów zmian. Każda zmiana, którą można włączyć lub wyłączyć, ma swój unikalny identyfikator i nazwę, których możesz używać do szybkiego debugowania przyczyny błędu w wyprowadzanych danych logowania.

Szczegółowe informacje o używaniu narzędzi w przypadku każdego z tych zastosowań znajdziesz w artykule Narzędzia dotyczące ram kompatybilności.

Zmiany zachowania uwzględnione w systemie sprawdzania zgodności

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

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

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

ACCESS_SHARED_IDENTITY

Identyfikator zmiany: 259743961
Stan domyślny: Włączone dla wszystkich aplikacji.

Przyznaje dostęp do tożsamości aplikacji uruchamianej na rynek, jeśli aplikacja wyraziła zgodę do udostępnienia swojej tożsamości przez uruchomienie tego działania z instancją z ActivityOptions na którym ActivityOptions.setShareIdentityEnabled(boolean) została wywołana z wartością true lub jeśli została wywołana identyfikator UID aktywności jest taki sam jak identyfikator aplikacji uruchamiającej Gdy ta zmiana zostanie włączona i spełnione zostanie jedno z tych wymagań, działanie może uzyskać dostęp do identyfikatora UID i nazwy pakietu uruchamianej aplikacji za pomocą odpowiednio parametrów 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 (poziom API 34) lub nowszego.

Po włączeniu tej opcji pojawia się komunikat „Aplikacja nie odpowiada” błąd ANR gdy aplikacje powoli reagują na interfejsy API i funkcje Android 13 (poziom interfejsu API 33) lub niższy.

AUTHORITY_ACCESS_CHECK_CHANGE_ID

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

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowsze włączenie sprawdzanie dostępu urzędowego dla wywołującego identyfikatora UID we wszystkich API.

CAMERA_MIC_INDICATORS_NOT_PRESENT

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

Wskazuje, że to urządzenie obsługuje aparat i mikrofon wskaźnikami. Jeśli jest obecny, to wartość to false, ponieważ metoda CompatChanges#isChangeEnabled zwraca true, jeśli identyfikator zmiany jest nieobecny.

DEFAULT_RESCIND_BAL_PRIVILEGES_FROM_PENDING_INTENT_SENDER

Identyfikator zmiany: 244637991
Stan domyślny: włączone 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 działań w tle w celu uruchomienia oczekującej intencji.

Więcej informacji o tej zmianie znajdziesz w sekcji poświęconej zmianom w zachowaniu Androida 14 na stronie Dodatkowe ograniczenia dotyczące uruchamiania działań 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.

Zgłoszenie poprawnego wyjątku flagi do bramki zgłoszonego przez #detachImage

#detachImage jest udokumentowany jako rzucanie IllegalStateException. w przypadku wystąpienia błędu; natywna metoda pomocnicza, RuntimeException czy powierzchnia została porzucona podczas odłączania Image.

To wcześniej nieudokumentowane wyjątek jest kontynuowane przez Android 13 (poziom API 33).

Po Androidzie 13 (poziom API 33) natywny helper tylko zgłasza błąd IllegalStateExceptions zgodnie z dokumentacją.

Gdy ta zmiana jest włączona, funkcja #detachImage powoduje wyjątek IllegalStateException tylko wtedy, gdy podczas odłączania obrazu wystąpią błędy. W przypadku aplikacji kierowanych na Androida 13 (poziom API 33) lub niższego zachowanie pozostaje niezmienione.

DOWNSCALED

Zmień identyfikator: 168419799
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Ta zmiana to strażnik buforowania całego bufora według aplikacji zmian. Włączenie tej zmiany umożliwia zastosowanie tych czynników skalowania:

Gdy ta zmiana zostanie włączona w przypadku pakietu aplikacji, aplikacja zostanie zmuszona do zmiany rozmiaru do najwyższego, włączonego współczynnika skalowania. Na przykład wartość 80% jest używana, jeśli włączone są ustawienia 80% i 70% (DOWNSCALE_80 i DOWNSCALE_70). Gdy zarówno ta zmiana, DOWNSCALED_INVERSE jest włączono, DOWNSCALED_INVERSE ma pierwszeństwo, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALED_INVERSE

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

Ta zmiana jest bramką dla wszystkich zmian dotyczących odwrotnego skalowania 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 zostanie włączona w przypadku pakietu aplikacji, aplikacja zostanie wymuszająco przeskalowana do najniższego, włączonego współczynnika skalowania. Na przykład 80% jest używane, jeśli włączone są 80% i 70% (DOWNSCALE_80 i DOWNSCALE_70), ponieważ odwrotna wartość współczynnika skalowania 80% wynosi 125%, co jest mniejsze niż 142,86%, które jest stosowane przy odwrotnym zastosowaniu współczynnika skalowania 70%. Jeśli ta zmiana i parametr DOWNSCALED są włączone, pierwszeństwo ma parametr DOWNSCALED_INVERSE, a współczynnik skalowania jest stosowany odwrotnie.

DOWNSCALE_30

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

Jeśli włączona jest też opcja DOWNSCALED, aplikacja zakłada, że działa na wyświetlaczu o 30% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, w przypadku pakietu włączona zmiana spowoduje, że aplikacja będzie działać na wyświetlaczu o 333,33% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty wyświetlacz.

DOWNSCALE_35

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

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu powoduje to, że aplikacja zakłada, że działa na wyświetlaczu o 35% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładam, że jest on wyświetlany na wyświetlaczu o 285,71% odchylenia w pionie w poziomie rzeczywistego wyświetlacza.

DOWNSCALE_40

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

Jeśli DOWNSCALED również ma wartość jest włączony, włączenie tej zmiany w pakiecie wymusza na aplikacji Jest on wyświetlany na wyświetlaczu i ma 40% obszaru wyświetlania w pionie i w poziomie. do rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie działać na wyświetlaczu o 250% większej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz.

DOWNSCALE_45

Identyfikator zmiany: 189969782
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie działać z założenia, że wyświetla się na ekranie o 45% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, w przypadku pakietu włączona zmiana spowoduje, że aplikacja będzie działać na wyświetlaczu o 222,22% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty wyświetlacz.

DOWNSCALE_50

Zmień identyfikator: 176926741
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie zakładać, że działa na wyświetlaczu o 50% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie działać na wyświetlaczu o 200% większej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz.

DOWNSCALE_55

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

Jeśli DOWNSCALED również ma wartość jest włączony, włączenie tej zmiany w pakiecie wymusza na aplikacji Jest on wyświetlany na wyświetlaczu i ma 55% powierzchni w pionie i poziomie. do rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, w przypadku pakietu włączona zmiana spowoduje, że aplikacja będzie działać na wyświetlaczu o 181,82% mniejszej rozdzielczości w orientacji pionowej i poziomej niż rzeczywisty wyświetlacz.

DOWNSCALE_60

Identyfikator zmiany: 176926771
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z tą zmianą aplikacja będzie zakładać, że działa na wyświetlaczu o rozdzielczości 60% w orientacji pionowej i poziomej w porównaniu z rzeczywistą rozdzielczością. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładam, że jest on wyświetlany na wyświetlaczu o 166,67% odchylenia w pionie w poziomie rzeczywistego wyświetlacza.

DOWNSCALE_65

Zmień identyfikator: 189969744
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Jeśli włączona jest też opcja DOWNSCALED, w przypadku pakietu z tą zmianą aplikacja zakłada, że działa na wyświetlaczu o 65% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładam, że jest on wyświetlany na wyświetlaczu o 153,85% odchylenia w pionie w poziomie rzeczywistego wyświetlacza.

DOWNSCALE_70

Identyfikator zmiany: 176926829
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli DOWNSCALED również ma wartość jest włączony, włączenie tej zmiany w pakiecie wymusza na aplikacji Jest on wyświetlany na wyświetlaczu i ma 70% obszaru pionowego i poziomego do rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, w przypadku pakietu włączona zmiana spowoduje, że aplikacja będzie działać na wyświetlaczu o 142,86% mniejszej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz.

DOWNSCALE_75

Zmień identyfikator: 189969779
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Jeśli DOWNSCALED również ma wartość jest włączony, włączenie tej zmiany w pakiecie wymusza na aplikacji Jest on wyświetlany na wyświetlaczu i ma 75% powierzchni w pionie i poziomie. do rozdzielczości rzeczywistego wyświetlacza. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładam, że jest on wyświetlany na wyświetlaczu z 133,33% odchylenia w pionie w poziomie rzeczywistego wyświetlacza.

DOWNSCALE_80

Identyfikator zmiany: 176926753
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli DOWNSCALED również ma wartość jest włączony, włączenie tej zmiany w pakiecie wymusza na aplikacji Działa na wyświetlaczu i 80% obszaru roboczego i poziomego do rozdzielczości rzeczywistego wyświetlacza. Jeśli włączona jest też opcja DOWNSCALED_INVERSE, włączenie tej zmiany w przypadku pakietu spowoduje, że aplikacja będzie działać na wyświetlaczu o 125% większej rozdzielczości w kierunku pionowym i poziomym niż rzeczywisty wyświetlacz.

DOWNSCALE_85

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

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie zakładać, że działa na wyświetlaczu o 85% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładam, że jest on wyświetlany na wyświetlaczu o 117,65% odchylenia w pionie w poziomie rzeczywistego wyświetlacza.

DOWNSCALE_90

Identyfikator zmiany: 182811243
Stan domyślny: wyłączone we wszystkich aplikacjach.

Jeśli włączysz też opcję DOWNSCALED, aplikacja będzie zakładać, że działa na wyświetlaczu o 90% rozdzielczości pionowej i poziomej rzeczywistego wyświetlacza. Jeśli DOWNSCALED_INVERSE to także włączone. Włączenie tej zmiany w przypadku pakietu wymusza na aplikacji Zakładamy, że jest on wyświetlany na wyświetlaczu o 111,11% odchylenia w pionie w poziomie 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 korzystają ze zintegrowanych platform Implementacja mDNS jako backend, a aplikacje kierowane na wcześniejsze wersje nadal korzystają ze starszej wersji wykrywania usług sieciowych (NSD) backend (ze starszym demonem natywnym jako NsdManager lub backend).

ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION

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

Sprawdzanie certyfikowanych przez siebie funkcji jest włączone w przypadku aplikacji kierowanych na Androida 14 lub nowszego. Zobacz 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.

Aplikacje kierowane na Androida 14 (poziom API 34) i nowsze muszą w pliku manifestu zadeklarować potrzeby dotyczące widoczności pakietu, aby uzyskać dostęp do interfejsów API AccountManager.

ENFORCE_READ_ONLY_JAVA_DCL

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

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowsze wersje: wszystkie dynamicznie ładowane pliki oznaczone jako tylko do odczytu. Zapobiega to nieoczekiwanemu zastąpieniu przez złośliwe podmioty plików wczytywanych dynamicznie.

Więcej informacji o tej zmianie znajdziesz w sekcji poświęconej zmianom zachowania w Androidzie 14 na stronie Bezpieczniejsze wczytywanie kodu dynamicznego.

ENFORCE_STRICT_QUERY_BUILDER

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

Gdy ta opcja jest włączona, SQLiteQueryBuilder weryfikuje wszystkie Wybrane zapytania (CalendarProvider2) względem złośliwego oprogramowania .

EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED

Identyfikator zmiany: 265195908
Stan domyślny: Włączone we wszystkich aplikacjach.

Dokładne alarmy oczekujące AlarmManager.OnAlarmListener wywołanie zwrotne jest usuwane, gdy aplikacja do połączeń jest zapisywana w pamięci podręcznej stanu.

Aby dowiedzieć się więcej o zmianach dotyczących alarmów precyzyjnych w Androidzie 14, przeczytaj artykuł Harmonogram alarmów precyzyjnych jest domyślnie wyłączony.

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ć odpowiedni pierwszy plan typów usług zadeklarowanych w atrybucie manifestu.

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łączone w przypadku aplikacji kierowanych na Androida 14 (poziom API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom API 34) i nowsze uruchamiających usługę na pierwszym planie przy użyciu wycofanego FOREGROUND_SERVICE_TYPE_NONE spowoduje 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łączone w przypadku aplikacji kierowanych na Androida 14 (poziom API 34) lub nowszego.

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom API 34) i nowsze uruchamiających usługę na pierwszym planie przy użyciu wycofanego FOREGROUND_SERVICE_TYPE_NONE wpisz tylko te dane.

Więcej informacji o tej zmianie znajdziesz na stronie z opisem zmian w typach usług na pierwszym planie.

FGS_TYPE_PERMISSION_CHANGE_ID

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

Gdy ta opcja jest włączona, aplikacje kierowane na Androida 14 (poziom API 34) i nowsze uruchamiających usługę na pierwszym planie bez wymaganych uprawnień; powiązane z typem danej usługi na pierwszym planie powoduje wyświetlenie SecurityException

Więcej informacji o tej zmianie znajdziesz na stronie z opisem zmian w typach usług na pierwszym planie.

FORCE_DISABLE_HEVC_SUPPORT

Zmień identyfikator: 174227820
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Wymusić wyłączenie obsługi formatu HEVC przez aplikację. Aplikacje powinny zadeklarować obsługiwane możliwości multimedialne w sekcji pliku manifestu, ale ta flaga może służyć do wymuszania na aplikacji obsługuje HEVC, co wymusza transkodowanie podczas uzyskiwania dostępu do multimediów zakodowane w HEVC. Ustawienie tej flagi zastępuje wszystkie wartości domyślne na poziomie systemu operacyjnego dla aplikacji. Jest ona domyślnie wyłączona, co oznacza, że system operacyjny będzie działał domyślnie. mają pierwszeństwo. Jeśli zarówno ta flaga, jak i Włączono FORCE_ENABLE_HEVC_SUPPORT, system operacyjny ignoruje obie flagi.

FORCE_ENABLE_HEVC_SUPPORT

Zmień identyfikator: 174228127
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Wymuszanie obsługi przez aplikację obsługiwanej przez nią funkcji multimediów HEVC. Aplikacje powinny deklarować obsługiwane funkcje multimediów w pliku manifestu, ale ta flaga może być używana do wymuszania obsługi HEVC, co pozwala uniknąć transkodowania podczas uzyskiwania dostępu do multimediów zakodowanych w HEVC. Ustawienie tego parametru zastępuje wszelkie domyślne ustawienia na poziomie systemu operacyjnego dla aplikacji. Wyłączono przez domyślnie, co oznacza, że pierwszeństwo mają ustawienia domyślne systemu operacyjnego. Jeśli oba ta flaga i FORCE_DISABLE_HEVC_SUPPORT są włączone, system operacyjny ignoruje obie flagi.

FORCE_NON_RESIZE_APP

Zmień identyfikator: 181146395
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

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

FORCE_RESIZE_APP

Identyfikator zmiany: 174042936
Stan domyślny: wyłączone we wszystkich aplikacjach.

Wymusza możliwość zmiany rozmiaru pakietów, do których jest stosowany. My tylko zezwalaj na zmianę rozmiaru w trybie pełnego ekranu, ale nie wymuszaj w trybie wielu okien z możliwością zmiany rozmiaru.

GWP_ASAN

Identyfikator zmiany: 145634846
Stan domyślny: wyłączone we wszystkich aplikacjach.

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

Aby dowiedzieć się więcej o korzystaniu z GWP-ASan, zobacz Przewodnik po GWP-ASan.

IMPLICIT_INTENTS_ONLY_MATCH_EXPORTED_COMPONENTS

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

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i nowsze wersje musi być eksportowany w celu wywołania ich przez intencje niejawne. Jeśli komponent nie zostanie wyeksportowany ani wywołany, zostaje usunięty z listy; odbiorców. Dotyczy to w szczególności działań transmisji.

Więcej informacji o tej zmianie znajdziesz w sekcji na stronie poświęconej zmianom w zachowaniu Androida 14 dotyczącą ograniczeń dotyczących niejawnych i oczekujących intencji.

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 nowsze wersje aplikacje muszą poproś użytkownika o zgodę przed każdym MediaProjection sesji nagrywania.

Więcej informacji o tej zmianie znajdziesz w sekcji dotyczącej Androida 14. Strona zmienia zachowanie użytkownika w przypadku każdej z tych kategorii wymagana jest zgoda użytkownika na wykorzystanie danych: MediaProjection .

NATIVE_HEAP_ZERO_INIT

Identyfikator zmiany: 178038272
Stan domyślny: wyłączone we wszystkich aplikacjach.

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

NATIVE_MEMTAG_ASYNC

Identyfikator zmiany: 145772972
Stan domyślny: Wyłączono we wszystkich aplikacjach.

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

NATIVE_MEMTAG_SYNC

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

Umożliwia sprawdzanie tagów pamięci w ramach tego procesu w trybie synchronicznym (SYNC). Ta flaga ma wpływ tylko na sprzęt obsługujący tagowanie pamięci ARM Rozszerzenie (MTE). Jeśli zarówno NATIVE_MEMTAG_ASYNC, jak i ten element jest włączona, ta opcja ma pierwszeństwo, a MTE jest włączone w trybie SYNCHRONIZACJA.

OVERRIDE_ANY_ORIENTATION

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

Po włączeniu ta zmiana umożliwia zastosowanie tych ustawień orientacji niezależnie od orientacji wymaganej przez aktywność:

OVERRIDE_CAMERA_RESIZABLE_AND_SDK_CHECK

Zmień identyfikator: 191514214
Stan domyślny: wyłączone w przypadku wszystkich aplikacji.

Po włączeniu ta zmiana spowoduje, że pakiety, do których jest zastosowana, będą ignorować bieżącą wartość android:resizeableActivity oraz docelowy pakiet SDK równy lub mniejszy niż M, a aktywność będzie uważana za nierozszerzalną. W tym przypadku wartość obrócenia kamery zależy wyłącznie od potrzebnej wynagrodzenia, biorąc pod uwagę bieżącego obrotu wyświetlacza.

OVERRIDE_CAMERA_ROTATE_AND_CROP_DEFAULTS

Identyfikator zmiany: 189229956
Stan domyślny: wyłączone we wszystkich aplikacjach.

Gdy ta zmiana jest włączona, wymusza, aby pakiety, do których jest stosowana, zastępowały domyślne zachowanie obracania i przycinania aparatu i zawsze zwracały wartość CaptureRequest.SCALER_ROTATE_AND_CROP_NONE.

OVERRIDE_LANDSCAPE_ORIENTATION_TO_REVERSE_LANDSCAPE

Identyfikator zmiany: 266124927
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącza SCREEN_ORIENTATION_REVERSE_LANDSCAPE w przypadku aplikacji, do której jest stosowany. O ile OVERRIDE_ANY_ORIENTATION jest również włączona, wartość SCREEN_ORIENTATION_REVERSE_LANDSCAPE jest używany tylko wtedy, gdy aktywność ma orientację poziomą. Włączam Ta zmiana pomoże Ci przetestować działanie aplikacji pod kątem różnic między urządzeniami, gdy orientacja pozioma odpowiada Surface.ROTATION_90 i powiązanych urządzeń. Surface.ROTATION_270

OVERRIDE_MIN_ASPECT_RATIO

Zmień identyfikator: 174042980
Stan domyślny: wyłączone 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 pozwala zastosować te minimalne proporcje:

Po włączeniu tej zmiany dla pakietu aplikacji minimalny aspekt współczynnik podany w pliku manifestu aplikacji zostanie zastąpiony największego włączonego format obrazu, chyba że wartość w pliku manifestu aplikacji jest wyższa.

OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN

Identyfikator zmiany: 218959984
Stan domyślny: wyłączone we wszystkich aplikacjach.

Po włączeniu zastępuje minimalne ograniczenie formatu obrazu w do pełnego ekranu w orientacji pionowej, aby wykorzystać całą dostępną przestrzeń na ekranie.

OVERRIDE_MIN_ASPECT_RATIO_LARGE

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

Gdy włączona jest również opcja OVERRIDE_MIN_ASPECT_RATIO, włączenie tej zmiany w przypadku pakietu powoduje ustawienie minimalnego formatu obrazu aktywności na dużą wartość określoną przez opcję OVERRIDE_MIN_ASPECT_RATIO_LARGE_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_MEDIUM

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

Gdy włączona jest również opcja OVERRIDE_MIN_ASPECT_RATIO, w przypadku pakietu zmiana ta powoduje ustawienie minimalnego współczynnika proporcji aktywności na średnią wartość określoną przez opcję OVERRIDE_MIN_ASPECT_RATIO_MEDIUM_VALUE.

OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY

Identyfikator zmiany: 203647190
Stan domyślny: włączone dla wszystkich aplikacji.

Gdy opcja OVERRIDE_MIN_ASPECT_RATIO jest również włączona, ogranicza to wszystkie inne zmiany, które wymuszają określony minimalny współczynnik kształtu aktywności, takie jak OVERRIDE_MIN_ASPECT_RATIO_LARGE i OVERRIDE_MIN_ASPECT_RATIO_MEDIUM, do aktywności, które mają również orientację pionową.

OVERRIDE_RESPECT_REQUESTED_ORIENTATION

Identyfikator zmiany: 236283604
Stan domyślny: wyłączone we wszystkich aplikacjach.

Po włączeniu ta zmiana wyklucza pakiety, które są stosowane do ignorowania ograniczeń orientacji, które mogą być ustawiane przez producentów urządzeń.

OVERRIDE_UNDEFINED_ORIENTATION_TO_NOSENSOR

Identyfikator zmiany: 265451093
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącza SCREEN_ORIENTATION_NOSENSOR w przypadku aplikacji, do której jest stosowany. O ile OVERRIDE_ANY_ORIENTATION jest również włączona, wartość SCREEN_ORIENTATION_NOSENSOR jest używana tylko wtedy, gdy aktywność nie określa żadnego innego stałego orientacji ekranu.

OVERRIDE_UNDEFINED_ORIENTATION_TO_PORTRAIT

Identyfikator zmiany: 265452344
Stan domyślny: wyłączone we wszystkich aplikacjach.

Włącza SCREEN_ORIENTATION_PORTRAIT w przypadku aplikacji, do której jest stosowany. Jeśli nie jest też włączona opcja OVERRIDE_ANY_ORIENTATION, SCREEN_ORIENTATION_PORTRAIT jest używana tylko wtedy, gdy aktywność nie określa żadnego innego stałego ułożenia.

RATE_LIMIT_TOASTS

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

Włącza ograniczenie liczby żądań Toast.show() aby zapobiec nadmiernemu obciążeniu użytkownika zbyt dużą liczbą komunikatów wyświetlanych w reklamie ograniczone czasowo. Każda próba wyświetlenia większej liczby toastów niż dozwolona w określonym przedziale czasowym powoduje odrzucenie toastu.

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, wymaga, aby szacowana liczba bajtów sieci nie była ujemna.

REQUIRE_NETWORK_CONSTRAINT_FOR_NETWORK_JOB_WORK_ITEMS

Zmień identyfikator: 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 nowsze wersje: w zadaniu hostingu, aby określić ograniczenie sieci, jeśli uwzględniona JobWorkItem wskazuje wykorzystanie sieci.

REQUIRE_NETWORK_PERMISSIONS_FOR_CONNECTIVITY_JOBS

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

W przypadku aplikacji kierowanych na Androida 14 (interfejs API na poziomie 34) i nowszych wymagane jest określenie w nich uprawnień INTERNETACCESS_NETWORK_STATE podczas planowania zadania z ograniczeniem łączności.

THROW_ON_INVALID_DATA_TRANSFER_IMPLEMENTATION

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

W przypadku aplikacji kierowanych na Androida 14 (poziom interfejsu API 34) i wyższych system zgłasza wyjątek, jeśli aplikacja nie zaimplementuje 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 przenoszenie usług na pierwszym planie do zadań przesyłania danych inicjowanych przez użytkownika.

USE_EXPERIMENTAL_COMPONENT_ALIAS

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

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