- składnia:
<application android:allowTaskReparenting=["true" | "false"] android:allowBackup=["true" | "false"] android:allowClearUserData=["true" | "false"] android:allowCrossUidActivitySwitchFromBelow=["true" | "false"] android:allowNativeHeapPointerTagging=["true" | "false"] android:appCategory=["accessibility" | "audio" | "game" | "image" | "maps" | "news" | "productivity" | "social" | "video"] android:backupAgent="string" android:backupInForeground=["true" | "false"] android:banner="drawable resource" android:dataExtractionRules="string resource" android:debuggable=["true" | "false"] android:description="string resource" android:enabled=["true" | "false"] android:extractNativeLibs=["true" | "false"] android:fullBackupContent="string" android:fullBackupOnly=["true" | "false"] android:gwpAsanMode=["always" | "never"] android:hasCode=["true" | "false"] android:hasFragileUserData=["true" | "false"] android:hardwareAccelerated=["true" | "false"] android:icon="drawable resource" android:isGame=["true" | "false"] android:isMonitoringTool=["parental_control" | "enterprise_management" | "other"] android:killAfterRestore=["true" | "false"] android:largeHeap=["true" | "false"] android:label="string resource" android:logo="drawable resource" android:manageSpaceActivity="string" android:name="string" android:networkSecurityConfig="xml resource" android:permission="string" android:persistent=["true" | "false"] android:process="string" android:restoreAnyVersion=["true" | "false"] android:requestLegacyExternalStorage=["true" | "false"] android:requiredAccountType="string" android:resizeableActivity=["true" | "false"] android:restrictedAccountType="string" android:supportsRtl=["true" | "false"] android:taskAffinity="string" android:testOnly=["true" | "false"] android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"] android:usesCleartextTraffic=["true" | "false"] android:vmSafeMode=["true" | "false"] > . . . </application>
- zawarte w:
<manifest>
- mogą zawierać:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
- description:
Deklaracja aplikacji. Ten element zawiera podelementy deklarujące poszczególne komponenty aplikacji i mające atrybuty która może mieć wpływ na wszystkie komponenty.
Wiele z tych atrybutów, np.
icon
,label
,permission
,process
,taskAffinity
iallowTaskReparenting
, ustaw wartości domyślne odpowiednich atrybutów elementów składowych. Inne, np.debuggable
,enabled
,description
iallowClearUserData
, ustaw wartości dla całej aplikacji oraz nie są zastępowane przez komponenty.- atrybuty
android:allowTaskReparenting
- Określ, czy działania zdefiniowane przez aplikację mogą przenosić się
zadanie, które zainicjowało zadanie, z którym pasjonują się podczas tego zadania
a następnie na wierzch. Jeśli mogą się ruszać, to
"true"
."false"
, jeśli muszą pozostać z zadaniem, od którego zostały rozpoczęte. Wartością domyślną jest"false"
.<activity>
element ma swoje własneallowTaskReparenting
, który może zastąpić ustawioną tutaj wartość. android:allowBackup
Określa, czy aplikacja ma uczestniczyć w kopii zapasowej i przywracania infrastruktury. Jeśli ten atrybut ma wartość
"false"
, nie utworzenie kopii zapasowej lub przywrócenie aplikacji, nawet przez tworzenie pełnej kopii zapasowej systemu, które w przeciwnym razie powoduje zapisanie wszystkich danych aplikacji. za pomocą:adb
. Domyślna wartość tego atrybutu to"true"
.Uwaga: w przypadku aplikacji kierowanych na Androida 12 (poziom interfejsu API 31) lub nowszego są różne. Na urządzeniach niektórych producentów nie można wyłączyć migracji między urządzeniami pliki aplikacji.
Możesz jednak wyłączyć tworzenie i przywracanie kopii zapasowych plików aplikacji w chmurze przez ustawienie ten atrybut do
"false"
, nawet jeśli aplikacja jest kierowana na Androida 12 (poziom API 31) lub wyżej.Więcej informacji: kopie zapasowe i przywracanie strony zawierającej zmiany w działaniu aplikacji kierowanych na Androida 12 (poziom API 31) lub wyżej.
android:allowClearUserData
Określa, czy aplikacja ma zezwalać na resetowanie danych użytkownika. Dane te obejmują: flagi, np. czy użytkownik zobaczył etykietki wprowadzające, a także personalizowane przez użytkownika ustawienia i preferencje. Wartość domyślna tej wartości to
"true"
.Uwaga: tylko aplikacje będące częścią obrazu systemu jawnie zadeklarować ten atrybut. Aplikacje innych firm nie mogą zawierać tego elementu w plikach manifestu.
Więcej informacji znajdziesz w artykule Omówienie kopii zapasowej danych.
android:allowCrossUidActivitySwitchFromBelow
Określa, czy działania znajdujące się poniżej tego zadania mogą też rozpoczynać inne działania lub dokończyć zadanie.
Aplikacje od docelowego poziomu pakietu SDK na poziomie
Build.VERSION_CODES.VANILLA_ICE_CREAM
może zostać zablokowana możliwość rozpoczynania nowych działań lub kończenia zadań, chyba że główna aktywność ze względów bezpieczeństwa należy do tego samego identyfikatora UID.Ustawienie tej flagi na
true
spowoduje, że uruchamiana aplikacja zignoruje ograniczenie, jeśli ta aktywność jest wyświetlana na początku. Aplikacje pasujące do identyfikatora UID tej aktywności są zawsze wykluczane.Więcej informacji znajdziesz w artykule Uruchamianie bezpiecznej aktywności w tle.
android:allowNativeHeapPointerTagging
Określa, czy aplikacja ma włączoną funkcję tagowania wskaźnika sterty. Wartość domyślna ten atrybut to
"true"
.Uwaga: wyłączenie tej funkcji nie rozwiązuje problemu który jest przyczyną problemów ze stanem kodu. Kolejne urządzenia mogą nie obsługiwać tego tagu manifestu.
Więcej informacji znajdziesz w artykule Otagowane wskaźniki.
android:appCategory
Deklaruje kategorię tej aplikacji. Kategorie są używane do grupowania wielu aplikacji w konkretne grupy, np. podsumowując stan baterii, sieci lub zajętego miejsca na dysku. Określ tę wartość tylko w przypadku aplikacji, które pasują do jednej z tych wartości poszczególnych kategorii.
Musi to być jedna z podanych stałych wartości.
Wartość Opis accessibility
Aplikacje, które służą głównie jako ułatwienia dostępu, np. czytniki ekranu. audio
aplikacje, które obsługują głównie dźwięk lub muzykę, takie jak odtwarzacze muzyki; game
aplikacje będące głównie grami; image
aplikacje, które głównie obsługują obrazy lub zdjęcia, takie jak aparat lub galeria; maps
aplikacje, które służą głównie do tworzenia map, np. jako aplikacje nawigacyjne; news
aplikacje służące głównie do obsługi wiadomości, np. gazety, czasopisma lub sportowe; productivity
Aplikacje służące głównie do zwiększania produktywności, takie jak miejsce w chmurze czy aplikacje do pracy. social
Aplikacje, które są głównymi aplikacjami społecznościowymi, np. do obsługi wiadomości, komunikacji, poczty e-mail lub sieci społecznościowych. video
Aplikacje, które działają głównie z filmami lub filmami, np. aplikacje do strumieniowego przesyłania wideo. android:backupAgent
- Nazwa klasy, która implementuje agenta kopii zapasowej aplikacji.
podklasa klasy
BackupAgent
. Wartość atrybutu to pełną i jednoznaczną nazwę zajęć, np."com.example.project.MyBackupAgent"
. W skrócie: jeśli pierwszym znakiem nazwy jest kropka, na przykład".MyBackupAgent"
, zostanie dołączony do sekcji nazwa pakietu podana w<manifest>
.Nie ma wartości domyślnej. Nazwa musi być precyzyjna.
android:backupInForeground
- Wskazuje, że
Operacje automatycznej kopii zapasowej
można wykonywać w tej aplikacji nawet wtedy, gdy jest ona równoważna na pierwszym planie
stanu. system wyłącza aplikację podczas wykonywania automatycznej kopii zapasowej,
więc zachowaj ostrożność podczas korzystania z niego. Ustawienie tej flagi na
"true"
może mieć wpływ na aplikację działanie aplikacji, gdy jest ona aktywna.Wartość domyślna to
"false"
, co oznacza, że system operacyjny pomija Utworzenie kopii zapasowej aplikacji uruchomionej na pierwszym planie, np. aplikacji muzycznej który aktywnie odtwarza muzykę przy użyciu usługistartForeground()
stan. android:banner
- Zasób rysowalny
wyświetlając rozszerzony baner graficzny dla powiązanego elementu. Używaj razem z
<application>
, aby dostarczać domyślny baner dla wszystkich działań w aplikacji lub w tagu<activity>
. pozwala przesłać baner dla określonej aktywności.System używa banera do reprezentowania aplikacji w na ekranie głównym Androida TV. Dlatego należy je określać tylko w przypadku aplikacji z działaniem, które obsługuje Intencja
CATEGORY_LEANBACK_LAUNCHER
.Ten atrybut jest ustawiony jako odniesienie do zasobu rysowalnego zawierającego obraz, np.
"@drawable/banner"
. Brak domyślnego banera.Więcej informacji można znaleźć w sekcji Dodaj baner na ekranie głównym.
android:dataExtractionRules
Aplikacje mogą ustawić ten atrybut na zasób XML, w którym określają reguły określające, które pliki i katalogi mogą być kopiowane z urządzenia w ramach kopii zapasowej lub i transferu danych.
Informacje o formacie pliku XML znajdziesz w artykule Tworzenie i przywracanie kopii zapasowej.
android:debuggable
- Określ, czy aplikację można debugować, nawet gdy jest uruchomiona
na urządzeniu w trybie użytkownika. Jest
"true"
, jeśli może być, i"false"
jeśli nie. Wartością domyślną jest"false"
. android:description
- Czytelny dla użytkownika tekst na temat aplikacji, który jest dłuższy i bardziej opisowy niż etykieta aplikacji. Wartość jest ustawiona jako odwołanie do zasobu ciągu znaków. W przeciwieństwie do etykiety nie może to być nieprzetworzony ciąg znaków. Nie ma wartości domyślnej.
android:enabled
- Czy system Android może tworzyć instancje komponentów
aplikacji. Jest
"true"
, jeśli można, oraz"false"
jeśli nie. Jeśli wartością jest"true"
, funkcja każdego komponentu Atrybutenabled
określa, czy komponent jest włączony. Jeśli wartość to"false"
, zastępuje ona zależne od komponentu, a wszystkie komponenty są wyłączone.Wartość domyślna to
"true"
. android:extractNativeLibs
- Ten atrybut wskazuje, czy instalator pakietów wyodrębnia biblioteki natywne z
i przesyłać pliki APK do systemu plików. Jeśli ma wartość
"false"
, biblioteki natywne są przechowywane nieskompresowany w pakiecie APK. Twój plik APK może być większy, ale aplikacja wczytuje się szybciej bo biblioteki wczytują się bezpośrednio z pakietu APK w czasie działania.Wartość domyślna parametru
extractNativeLibs
zależy od wartościminSdkVersion
oraz parametru używanej wersji systemu AGP. W większości przypadków domyślne zachowanie jest prawdopodobnie pożądane. nie musisz ustawiać tego atrybutu bezpośrednio. android:fullBackupContent
- Ten atrybut wskazuje plik XML, który zawiera pełne reguły tworzenia kopii zapasowych dla:
Automatyczna kopia zapasowa.
Te reguły określają, jakie pliki mają być uwzględniane w kopii zapasowej. Więcej informacji:
Składnia konfiguracji XML
w przypadku Automatycznej kopii zapasowej.
Ten atrybut jest opcjonalny. Jeśli nie określisz tego ustawienia, domyślnie zostanie użyta Automatyczna kopia zapasowa. zawiera większość plików aplikacji. Więcej informacji: Pliki, które mają kopie zapasowe
android:fullBackupOnly
- Ten atrybut wskazuje, czy użyć
Automatyczna kopia zapasowa na urządzeniach
gdzie jest dostępna. Jeśli ustawisz wartość
"true"
, aplikacja będzie uzyskiwać lepsze wyniki Automatycznej kopii zapasowej zainstalowanej na urządzeniu z Androidem 6.0 (poziom interfejsu API 23) lub wyżej. Na starszych urządzeniach aplikacja ignoruje ten atrybut i działa kopii zapasowych klucz-wartość.Wartość domyślna to
"false"
. android:gwpAsanMode
- Ten atrybut wskazuje, czy użyć
GWP-ASan to natywna funkcja przydzielania pamięci, która pomaga
i znajdowanie błędów „use-after-free”
i „przepełnienia bufora na stercie”.
Wartość domyślna to
"never"
. android:hasCode
- Określenie, czy aplikacja zawiera kod DEX – czyli kod wykorzystujący funkcję
Kotlin lub język programowania Java.
Jeśli tak, jest to
"true"
, a w przeciwnym razie"false"
. Gdy ma wartość"false"
, system nie próbuje wczytać żadnej aplikacji przy uruchamianiu komponentów. Wartością domyślną jest"true"
.Jeśli aplikacja zawiera kod natywny (C/C++), ale nie zawiera kodu DEX, ustaw na
"false"
. Jeśli ma wartość"true"
, gdy pakiet APK nie zawiera kodu DEX, aplikacja może się nie załadować.Ta usługa musi uwzględniać kod zawarty w aplikacji przez zależności. Jeśli aplikacja jest uzależniona od AAR, który używa w kodzie Java/Kotlin lub bezpośrednio w pliku JAR,
app:hasCode
musi być"true"
lub jest pominięty, ponieważ jest to ustawienie domyślne.Aplikacja może na przykład obsługiwać: Odtwarzanie funkcji dostawy i uwzględnianie funkcji które nie generują żadnych plików DEX, które mają kod bajtowy zoptymalizowany pod kątem platformy. Jeśli tak, musisz ustawić tę właściwość na
"false"
w pliku manifestu modułu. . android:hasFragileUserData
- Czy wyświetlać użytkownikowi prośbę
zachowanie danych aplikacji, gdy użytkownik ją odinstaluje. Wartość domyślna to
"false"
. android:hardwareAccelerated
- Czy renderowanie z akceleracją sprzętową jest włączone dla wszystkich
czynności i widoki w tej aplikacji. Jeśli jest:
"true"
włączono, a"false"
, jeśli nie. Wartość domyślna to"true"
, jeśli ustawiszminSdkVersion
lubtargetSdkVersion
co najmniej do"14"
. W przeciwnym razie jest to"false"
.Począwszy od Androida 3.0 (poziom interfejsu API 11) sprzętowy mechanizm renderowania OpenGL jest dostępne dla aplikacji w celu poprawy wydajności w przypadku wielu popularnych grafik 2D operacji. Gdy włączony jest mechanizm renderowania z akceleracją sprzętową, większość operacji parametry Canvas, Paint, Xfermode, ColorFilter, Shader i Aparat są akcelerowane.
Dzięki temu są płynniejsze animacje i płynniejsze przewijanie. ogólną responsywność, nawet w przypadku aplikacji, które nie korzystają bezpośrednio biblioteki OpenGL platformy.
Nie wszystkie operacje OpenGL 2D są przyspieszone. Jeśli włączysz za pomocą akceleracji sprzętowej, przetestuj aplikację, by korzystać z mechanizmu renderowania bez błędów.
Aby dowiedzieć się więcej, przeczytaj Akceleracja sprzętowa Google.
android:icon
- Ikona całej aplikacji i ikona domyślna dla
poszczególnych komponentów aplikacji. Wyświetlanie konkretnej osoby
Atrybuty
icon
dla<activity>
,<activity-alias>
,<service>
,<receiver>
i<provider>
elementów.Ten atrybut jest ustawiony jako odniesienie do zasobu rysowalnego zawierającego obraz, na przykład
"@drawable/icon"
. Brak domyślnej ikony. android:isGame
- Określenie, czy aplikacja to gra. System może grupować aplikacje sklasyfikowane
w postaci gier ani wyświetlać ich oddzielnie od innych aplikacji. Wartość domyślna to
"false"
. .
android:isMonitoringTool
Wskazuje, że ta aplikacja służy do monitorowania innych osób.
Uwaga: jeśli aplikacja deklaruje ten atrybut w pliku manifestu, deweloper musi wykonaj Stalkerware zasady publikowania aplikacji w Google Play.
Nie ma wartości domyślnej. Deweloper musi podać jedną z tych wartości:
Wartość Opis "parental_control"
Promująca aplikację zapewnia kontrolę rodzicielską i jest skierowany do rodziców, którzy chcą zatrzymać dzieci bezpieczeństwa. "enterprise_management"
Promująca aplikację jest przeznaczona dla firm, które chcą zarządzać urządzeniami przekazanymi pracownikom i je śledzić. "other"
Aplikacja jest przeznaczona do użytku nie określono inaczej w tej tabeli. android:killAfterRestore
Określa, czy aplikacja zakończy się po podczas wykonywania operacji pełnego przywracania systemu. Operacje przywracania jednego pakietu nigdy nie powodują wyłączyć. Operacje przywracania pełnego systemu mają zwykle miejsce tylko raz. podczas pierwszej konfiguracji telefonu. Aplikacje innych firm zwykle nie działają muszą używać tego atrybutu.
Wartością domyślną jest
"true"
, co oznacza, że po aplikacji zakończy przetwarzanie danych podczas przywracania pełnego systemu, po czym zostanie przerwane.android:largeHeap
Określa, czy procesy aplikacji są tworzone na dużej stercie Dalvik. Dotyczy wszystkie procesy utworzone dla aplikacji. Ma zastosowanie tylko do pierwszej aplikacji wczytanej do proces tworzenia konta. Jeśli używasz współdzielonego identyfikatora użytkownika, aby umożliwić korzystanie z procesu wielu aplikacjom, wszystkie Z tej opcji należy korzystać konsekwentnie, aby uniknąć nieprzewidywalnych rezultatów.
Większość aplikacji nie potrzebuje tego rozwiązania i skupia się na zmniejszeniu ogólnego wykorzystania pamięci poprawić wydajność. Włączenie tej opcji nie gwarantuje też stałego wzrostu dostępnej pamięci, bo niektóre urządzenia mają ograniczoną ilość dostępnej pamięci.
Aby wysłać zapytanie o dostępny rozmiar pamięci w czasie działania, użyj metody
getMemoryClass()
lubgetLargeMemoryClass()
.android:label
- Czytelna dla użytkownika etykieta dla całej aplikacji i jako domyślna
dla poszczególnych komponentów aplikacji. Wyświetlanie konkretnej osoby
Atrybuty
label
dla<activity>
,<activity-alias>
,<service>
,<receiver>
i<provider>
elementów.Etykieta jest ustawiona jako odniesienie do zasobu ciągu, więc i można go zlokalizować tak samo jak inne ciągi w interfejsie. Aby jednak zapewnić wygodę na etapie tworzenia aplikacji, można go też ustawić w postaci nieprzetworzonego ciągu znaków.
android:logo
- Logo całej aplikacji i domyślne logo do aktywności.
Ten atrybut jest ustawiony jako odniesienie do zasobu rysowalnego zawierającego
obraz, na przykład
"@drawable/logo"
. Brak domyślnego logo. android:manageSpaceActivity
- Pełna nazwa podklasy
Activity
, którą system uruchomienia, aby umożliwić użytkownikom zarządzanie pamięcią wykorzystywaną przez aplikację; na urządzeniu. Aktywność jest również deklarowana za pomocą tagu<activity>
element. android:name
- Pełna i jednoznaczna nazwa elementu (
Application
) podklasa zaimplementowana dla aplikacji. W procesie zgłoszeniowym klasa jest inicjowana przed dowolnym zPodklasa jest opcjonalna. Większość aplikacji go nie potrzebuje. W przypadku braku podklasy Android używa instancji podstawowej
Application
zajęcia. android:networkSecurityConfig
Określa nazwę pliku XML zawierającego plik Bezpieczeństwo sieciowe Wartość jest odwołaniem do pliku zasobów XML zawierający konfigurację.
Ten atrybut został dodany na poziomie interfejsu API 24.
android:permission
- Nazwa uprawnienia, którego potrzebują klienci do interakcji
z aplikacją. Jest to wygodny sposób na określenie
uprawnienia dotyczące wszystkich komponentów aplikacji. Jest
zastąpione przez ustawienie atrybutów
permission
poszczególnychWięcej informacji o uprawnieniach: Uprawnienia w omówieniu pliku manifestu aplikacji oraz Wskazówki dotyczące bezpieczeństwa
android:persistent
- Czy aplikacja pozostaje uruchomiona przez cały czas. Jest
"true"
, jeśli tak, lub"false"
, jeśli nie. Wartość domyślna jest"false"
. Aplikacje zwykle nie ustawiają tej flagi. Tryb trwałości jest przeznaczony tylko dla niektórych aplikacji systemowych. android:process
- Nazwa procesu, w którym działają wszystkie komponenty aplikacji.
Każdy komponent może zastąpić tę wartość domyślną, ustawiając własny element
process
.Domyślnie Android tworzy proces dla aplikacji, gdy pierwszy jego komponentów musi działać. W ramach tego procesu będą działać wszystkie komponenty. Nazwa domyślnego procesu odpowiada nazwie pakietu ustawionej przez
<manifest>
element.Przez ustawienie tego atrybutu na nazwę procesu, która jest udostępniana innym osobom aplikacji, możesz skonfigurować uruchamianie składników obu aplikacji ten sam proces, ale tylko wtedy, gdy obie aplikacje mają również wspólny identyfikator użytkownika i są podpisane tym samym certyfikatem.
Jeśli nazwa przypisana do tego atrybutu zaczyna się od dwukropka (
:
), nowy atrybut (prywatny dla aplikacji) jest tworzony wtedy, gdy jest potrzebny. Jeśli nazwa procesu zaczyna się od małej litery, proces globalny o tej nazwie. Proces globalny można udostępnić innym aplikacji, co zmniejsza wykorzystanie zasobów. android:restoreAnyVersion
- Wskazuje, że aplikacja jest gotowa do próby przywrócenia
zbioru danych z kopią zapasową, nawet jeśli kopia zapasowa była przechowywana w nowszej wersji.
aplikacji niż jest obecnie zainstalowana na urządzeniu. Ustawienie
ten atrybut do
"true"
umożliwia Menedżerowi kopii zapasowych będzie próbować przywrócić dane, nawet jeśli niezgodność wersji sugeruje, że dane niezgodne. Zachowaj ostrożność.Domyślna wartość tego atrybutu to
"false"
. android:requestLegacyExternalStorage
-
Określa, czy aplikacja chce zrezygnować z ograniczonego miejsca na dane.
Uwaga: w zależności od zmian związanych z zasadami lub aplikacją. zgodność, system może nie zaakceptować prośby o rezygnację.
android:requiredAccountType
- Określa rodzaj konta wymagany przez aplikację do działania.
Jeśli aplikacja wymaga atrybutu
Account
, wartość tego atrybutu musi być odpowiadaj mechanizmowi uwierzytelniania konta typ używany przez Twoją aplikację (zgodnie z definicją zawartą w usłudzeAuthenticatorDescription
), na przykład"com.google"
.Wartość domyślna to null i wskazuje, że aplikacja może działać bez kont.
Ponieważ profile z ograniczonym dostępem nie można dodać kont, określenie tego atrybutu sprawi, że aplikacja niedostępny w profilu z ograniczonym dostępem, chyba że zadeklarujesz
android:restrictedAccountType
z tę samą wartość.Uwaga: Jeśli dane konta mogłyby ujawnić informacje umożliwiające identyfikację osób, zadeklarowanie tego atrybutu i pozostawienie wartości
android:restrictedAccountType
pustej, tak aby profile z ograniczonym dostępem nie mogły używać dostępu do danych osobowych należących do właściciela aplikacji.Ten atrybut został dodany na poziomie interfejsu API 18.
android:resizeableActivity
-
Określa, czy aplikacja obsługuje tryb wielu okien. Ty możesz ustawić ten atrybut w tagu
<activity>
lub<application>
.Jeśli ustawisz ten atrybut na wartość
"true"
, użytkownik będzie mógł uruchamiać aktywność w w trybie podzielonego ekranu i trybie dowolnym. Jeśli ustawisz atrybut na wartość"false"
, aplikacja nie może zostać przetestowana ani zoptymalizowana pod kątem środowiska wielu okien. System może przejdź do trybu wielu okien z zastosowanym trybem zgodności.Ustawienie tego atrybutu na wartość
"true"
nie gwarantuje, że nie ma innych aplikacji widocznych na ekranie w trybie wielu okien, np. obraz w obrazie, na innych ekranach. Dlatego ustawienie tej flagi nie oznacza, że aplikacja ma wyłączny dostęp do zasobów.W przypadku aplikacji kierowanych na interfejs API na poziomie 24 lub wyższym wartość domyślna to
"true"
.Jeśli aplikacja jest kierowana na interfejs API na poziomie 31 lub wyższym, ten atrybut działa inaczej w przypadku małych i dużych rozmiarów ekrany:
- Duże ekrany (sw >= 600 dp): wszystkie aplikacje obsługują tryb wielu okien. Atrybut wskazuje
Informacje o tym, czy można zmienić rozmiar aplikacji oraz czy obsługuje tryb wielu okien. Jeśli
resizeableActivity="false"
, w razie potrzeby aplikacja zostanie przełączona w tryb zgodności aby dostosować je do wymiarów wyświetlania. - Małe ekrany (sw < 600 dp): jeśli parametr
resizeableActivity="true"
i wartość minimalna szerokość i minimalna wysokość głównej aktywności mieszczą się w wymaganiach dotyczących wielu okien, aplikacja obsługuje tryb wielu okien. JeśliresizeableActivity="false"
, aplikacja nie obsługują tryb wielu okien niezależnie od minimalnej szerokości i wysokości aktywności.
Uwaga: producenci urządzeń mogą zastąpić poziom interfejsu API 31. zachowanie użytkownika.
Ten atrybut został dodany na poziomie interfejsu API 24.
Uwaga: główna wartość aktywności zadania jest stosowana do wszystkich dodatkowych działań uruchomionych w zadaniu. Oznacza to, że jeśli główne działanie którego rozmiar można zmienić, system traktuje wszystkie pozostałe działania z możliwością zmiany rozmiaru. Jeśli w działaniu głównym nie można zmienić rozmiaru, aktywności w zadaniu nie można zmienić.
- Duże ekrany (sw >= 600 dp): wszystkie aplikacje obsługują tryb wielu okien. Atrybut wskazuje
Informacje o tym, czy można zmienić rozmiar aplikacji oraz czy obsługuje tryb wielu okien. Jeśli
android:restrictedAccountType
- Określa typ konta wymagany przez tę aplikację i wskazuje, że profile ograniczone
ma dostęp do kont należących do właściciela. Jeśli Twoja aplikacja wymaga
Account
i profile z ograniczonym dostępem mogą ma dostęp do kont głównego użytkownika, wartość tego atrybutu musi muszą odpowiadać typowi modułu uwierzytelniania konta używanego przez aplikację, zdefiniowane przezAuthenticatorDescription
, na przykład"com.google"
.Wartością domyślną jest null, co wskazuje, że aplikacja może działać bez kont.
Uwaga: Jeśli określisz ten atrybut, profile z ograniczonym dostępem będą mogły używać aplikacji z kontami należącymi do właściciela, co może ujawniać dane umożliwiające identyfikację; i informacjami o nich. Jeśli na koncie mogą ujawnić się dane osobowe, nie użyj tego atrybutu. Zamiast tego zadeklaruj atrybut
android:requiredAccountType
. , aby uniemożliwić dostęp do aplikacji w profilach ograniczonych.Ten atrybut został dodany na poziomie interfejsu API 18.
android:supportsRtl
Określa, czy aplikacja obsługuje układy od prawej do lewej (RTL).
Jeśli zasada jest ustawiona na
"true"
itargetSdkVersion
. ma wartość 17 lub wyższą, różne interfejsy API RTL są aktywowany i używany przez system, aby aplikacja mogła wyświetlać układy od prawej do lewej. Jeśli zasada ma wartość"false"
lub jeślitargetSdkVersion
ma wartość 16 lub mniejszą, interfejsy API RTL są ignorowane lub nie mają żadnego efektu, a aplikacja działa tak samo niezależnie od układu zgodnie z ustawieniami regionalnymi użytkownika. Oznacza to, że układy są zawsze od lewej do prawej.Domyślna wartość tego atrybutu to
"false"
.Ten atrybut został dodany na poziomie interfejsu API 17.
android:taskAffinity
- nazwa koligacji odnosząca się do wszystkich działań w aplikacji,
poza tymi,
które mają inne podobne zainteresowania
taskAffinity
. Więcej informacji znajdziesz w tym atrybucie.Domyślnie wszystkie aktywności w aplikacji są takie same o podobnych zainteresowaniach. Nazwa tej koligacji jest taka sama jak nazwa pakietu ustawiony przez
<manifest>
element. android:testOnly
- Wskazuje, czy aplikacja służy tylko do testów. Przykład:
może ujawnić poza sobą funkcje lub dane, które mogą zagrażać bezpieczeństwu
ale przydatne do testowania. Ten rodzaj pliku APK służy tylko do instalacji
do
adb
. Nie możesz jej opublikować w Google Play.Android Studio automatycznie dodaje ten atrybut, gdy klikniesz Uruchom.
android:theme
- Odniesienie do zasobu stylu definiującego motyw domyślny dla wszystkich
w aplikacji. Poszczególne aktywności mogą zastąpić
domyślnie, ustawiając własne
theme
. Więcej informacji znajdziesz w artykule Style i motywy. android:uiOptions
- Dodatkowe opcje interfejsu użytkownika. Musi mieć jedną z tych wartości:
Wartość Opis "none"
Bez dodatkowych opcji interfejsu. Jest to ustawienie domyślne. "splitActionBarWhenNarrow"
Dodaje bar o aby wyświetlić działania na pasku aplikacji, nazywanym też paska działań, gdy ograniczone dla przestrzeni w poziomie, na przykład w trybie pionowym w telefonie. Zamiast małego liczbę działań wyświetlanych na pasku aplikacji u góry ekranu, na pasku aplikacji dzieli się na górną sekcję nawigacji i dolny pasek działań. Oznacza to rozsądny na działania, nawigację i tytuł elementów u góry. Pozycje menu nie są podzielone na 2 słupki. Zawsze są wyświetlane razem. Więcej informacji o pasku aplikacji znajdziesz w artykule Dodawanie paska aplikacji.
Ten atrybut został dodany na poziomie interfejsu API 14.
android:usesCleartextTraffic
- Wskazuje, czy aplikacja zamierza używać ruchu sieciowego niezrozumiałego tekstu, takiego jak nieszyfrowany protokół HTTP.
Domyślna wartość w przypadku aplikacji kierowanych na interfejs API na poziomie 27 lub niższym to
"true"
. Aplikacje, które docelowy poziom interfejsu API na poziomie 28 lub wyższym ma domyślnie wartość"false"
.Jeśli atrybut ma wartość
"false"
, komponenty platformy, np. HTTP i FTP stosy,DownloadManager
iMediaPlayer
, odmów żądań aplikacji o korzystanie z ruchu nieszyfrowanego.Zdecydowanie zalecamy korzystanie z bibliotek innych firm w związku z tym ustawienia. Główną przyczyną unikania ruchu nieszyfrowanego jest brak poufności, autentyczności i ochronę przed manipulacjami. Osoba atakująca sieć może podsłuchać przesyłane dane a także modyfikować je bez wykrywania.
To oznaczenie jest wykorzystywane zgodnie z zasadą możliwie najlepszej obsługi, ponieważ nie ma możliwości zablokowania całego niezrozumiałego tekstu i ruchu z aplikacji na Androida, biorąc pod uwagę przyznany im poziom dostępu. Na przykład jest brak oczekiwań przestrzeganych przez interfejs API
Socket
bo nie można w niej określić, czy ruch generowany przez nią jest jawny.Jednak większość ruch sieciowy z aplikacji jest obsługiwany przez stosy i komponenty sieci wyższego poziomu, które mogą tę flagę, odczytując ją z
ApplicationInfo.flags
lubNetworkSecurityPolicy.isCleartextTrafficPermitted()
Uwaga:
WebView
obsługuje ten atrybut dla: kierowane na interfejs API na poziomie 26 lub wyższym.Podczas tworzenia aplikacji StrictMode może identyfikować w niej ruch nieszyfrowany. Więcej informacji:
StrictMode.VmPolicy.Builder.detectCleartextNetwork()
Ten atrybut został dodany na poziomie interfejsu API 23.
Ta flaga jest ignorowana w Androidzie 7.0 (poziom interfejsu API 24) i nowszych w przypadku zabezpieczeń sieci Konfiguracja jest obecna.
android:vmSafeMode
- Wskazuje, czy aplikacja chce, aby maszyna wirtualna działała
w trybie awaryjnym. Wartością domyślną jest
"false"
.Ten atrybut został dodany na poziomie interfejsu API 8, gdzie wartość
"true"
wyłączono kompilator Dalvik „just-in-time” (JIT).Ten atrybut został dostosowany na poziomie interfejsu API 22, gdzie wartość
"true"
wyłączono kompilator ART z wyprzedzeniem (AOT).
Od wersji AGP 4.2.0 w przypadku opcji DSL
useLegacyPackaging
zastępuje atrybut pliku manifestuextractNativeLibs
. Użyj funkcjiuseLegacyPackaging
w plikubuild.gradle
z aplikacji zamiastextractNativeLibs
w pliku manifestu, aby skonfigurować bibliotekę natywną podczas kompresji. Więcej informacji znajdziesz w informacjach o wersji Spakuj skompresowane biblioteki natywne za pomocą DSL- wprowadzone w:
- Poziom API 1
- zobacz też:
<activity>
<service>
<receiver>
<provider>
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2024-08-22 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Brak potrzebnych mi informacji"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Zbyt skomplikowane / zbyt wiele czynności do wykonania"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Nieaktualne treści"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"Problem z tłumaczeniem"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Problem z przykładami/kodem"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Inne"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Łatwo zrozumieć"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Rozwiązało to mój problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Inne"
}]
{
"lastModified": "Ostatnia aktualizacja: 2024-08-22 UTC.",
"confidential": False
}