- syntax:
<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:enabledOnBackInvokedCallback=["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>
- enthalten in:
<manifest>
- kann Folgendes enthalten:
<activity>
<activity-alias>
<meta-data>
<service>
<receiver>
<profileable>
<provider>
<uses-library>
<uses-native-library>
- description:
Die Erklärung der Anwendung. Dieses Element enthält Unterelemente, die die einzelnen Komponenten der Anwendung deklarieren, und Attribute, die sich auf alle Komponenten auswirken können.
Viele dieser Attribute, z. B.
icon
,label
,permission
,process
,taskAffinity
undallowTaskReparenting
, legen Standardwerte für die entsprechenden Attribute der Komponentenelemente fest. Andere, z. B.debuggable
,enabled
,description
undallowClearUserData
, legen Werte für die Anwendung als Ganzes fest und werden nicht von den Komponenten überschrieben.- Attribute
android:allowTaskReparenting
- Ob Aktivitäten, die von der Anwendung definiert werden, von der Aufgabe, die sie gestartet hat, zu der Aufgabe wechseln können, zu der sie eine Affinität haben, wenn diese Aufgabe als Nächstes angezeigt wird. Es ist
"true"
, wenn sie sich bewegen können, und"false"
, wenn sie bei der Aufgabe bleiben müssen, bei der sie begonnen haben. Der Standardwert ist"false"
.Das Element
<activity>
hat ein eigenesallowTaskReparenting
-Attribut, mit dem der hier festgelegte Wert überschrieben werden kann. android:allowBackup
Ob die Anwendung an der Sicherungs- und Wiederherstellungsinfrastruktur teilnehmen soll. Wenn dieses Attribut auf
"false"
gesetzt ist, werden die Anwendung nie gesichert oder wiederhergestellt, auch nicht durch eine vollständige Systemsicherung, bei der sonst alle Anwendungsdaten mitadb
gespeichert werden. Der Standardwert dieses Attributs ist"true"
.Hinweis : Bei Apps, die auf Android 12 (API-Level 31) oder höher ausgerichtet sind, kann dieses Verhalten variieren. Auf Geräten einiger Gerätehersteller können Sie die Migration der Dateien Ihrer App von Gerät zu Gerät nicht deaktivieren.
Sie können die cloudbasierte Sicherung und Wiederherstellung der Dateien Ihrer App jedoch deaktivieren, indem Sie dieses Attribut auf
"false"
festlegen, auch wenn Ihre App auf Android 12 (API-Level 31) oder höher ausgerichtet ist.Weitere Informationen finden Sie im Abschnitt Sichern und Wiederherstellen der Seite, in dem Verhaltensänderungen für Apps beschrieben werden, die auf Android 12 (API-Level 31) oder höher ausgerichtet sind.
android:allowClearUserData
Ob die Anwendung Nutzerdaten zurücksetzen darf. Dazu gehören Flags, z. B. ob der Nutzer Einführungs-Tooltips gesehen hat, sowie vom Nutzer anpassbare Einstellungen und Präferenzen. Der Standardwert dieses Attributs ist
"true"
.Hinweis:Nur Apps, die Teil des System-Images sind, können dieses Attribut explizit deklarieren. Drittanbieter-Apps können dieses Attribut nicht in ihre Manifestdateien aufnehmen.
Weitere Informationen finden Sie unter Datensicherung – Übersicht.
android:allowCrossUidActivitySwitchFromBelow
Gibt an, ob die Aktivitäten unter dieser Aktivität in der Aufgabe auch andere Aktivitäten starten oder die Aufgabe abschließen können.
Ab dem Target SDK-Level
Build.VERSION_CODES.VANILLA_ICE_CREAM
können Apps aus Sicherheitsgründen daran gehindert werden, neue Aktivitäten zu starten oder ihre Aufgabe abzuschließen, es sei denn, die oberste Aktivität dieser Aufgabe gehört aus Sicherheitsgründen zurselben UID.Wenn Sie dieses Flag auf
true
setzen, kann die gestartete App die Einschränkung ignorieren, wenn diese Aktivität oben angezeigt wird. Apps, die mit der UID dieser Aktivität übereinstimmen, sind immer ausgenommen.Weitere Informationen finden Sie unter Start von Aktivitäten im geschützten Hintergrund.
android:allowNativeHeapPointerTagging
Gibt an, ob die App die Funktion zum Tagging von Heap-Pointern aktiviert. Der Standardwert dieses Attributs ist
"true"
.Hinweis:Durch das Deaktivieren dieser Funktion wird das zugrunde liegende Problem mit der Codequalität nicht behoben. Dieses Manifest-Tag wird von zukünftigen Hardwaregeräten möglicherweise nicht unterstützt.
Weitere Informationen finden Sie unter Getaggte Zeiger.
android:appCategory
Hier wird die Kategorie dieser App deklariert. Kategorien werden verwendet, um mehrere Apps in sinnvolle Gruppen zu clustern, z. B. bei der Zusammenfassung der Akku-, Netzwerk- oder Laufwerknutzung. Legen Sie diesen Wert nur für Apps fest, die gut in eine der Kategorien passen.
Muss einer der folgenden konstanten Werte sein.
Wert Beschreibung accessibility
Apps, die in erster Linie Bedienungshilfen sind, z. B. Screenreader. audio
Apps, die hauptsächlich mit Audio oder Musik arbeiten, z. B. Musikplayer game
Apps, die hauptsächlich Spiele sind. image
Apps, die hauptsächlich mit Bildern oder Fotos arbeiten, z. B. Kamera- oder Galerie-Apps. maps
Apps, die hauptsächlich Karten-Apps sind, z. B. Navigations-Apps. news
Apps, die hauptsächlich Nachrichten-Apps sind, z. B. Zeitungen, Zeitschriften oder Sport-Apps. productivity
Apps, die hauptsächlich Produktivitäts-Apps sind, z. B. Cloud-Speicher- oder Arbeitsplatz-Apps. social
Apps, die hauptsächlich soziale Apps sind, z. B. Messaging-, Kommunikations-, E-Mail- oder Social-Media-Apps. video
Apps, die hauptsächlich mit Videos oder Filmen arbeiten, z. B. Streaming-Video-Apps. android:backupAgent
- Der Name der Klasse, die den Sicherungsagenten der Anwendung implementiert, eine Unterklasse von
BackupAgent
. Der Attributwert ist ein vollständig qualifizierter Klassenname, z. B."com.example.project.MyBackupAgent"
. Wenn das erste Zeichen des Namens jedoch ein Punkt ist, z. B.".MyBackupAgent"
, wird er dem im Element<manifest>
angegebenen Paketnamen angehängt.Es gibt keinen Standardwert. Der Name muss eindeutig sein.
android:backupInForeground
- Gibt an, dass automatische Sicherungen für diese App auch dann ausgeführt werden können, wenn sich die App in einem Status befindet, der dem Vordergrund entspricht. Das System schaltet eine App während des automatischen Sicherungsvorgangs aus. Verwenden Sie dieses Attribut daher mit Vorsicht. Wenn Sie dieses Flag auf
"true"
festlegen, kann sich das auf das App-Verhalten auswirken, während die App aktiv ist.Der Standardwert ist
"false"
. Das bedeutet, dass das Betriebssystem die App nicht sichert, während sie im Vordergrund ausgeführt wird, z. B. eine Musik-App, die Musik über einen Dienst im StatusstartForeground()
abspielt. android:banner
- Eine Drawable-Ressource, die ein erweitertes grafisches Banner für das zugehörige Element enthält. Verwenden Sie das Tag mit dem Tag
<application>
, um ein Standardbanner für alle Anwendungsaktivitäten bereitzustellen, oder mit dem Tag<activity>
, um ein Banner für eine bestimmte Aktivität bereitzustellen.Das System verwendet das Banner, um eine App auf dem Android TV-Startbildschirm darzustellen. Geben Sie diese Option daher nur für Anwendungen mit einer Aktivität an, die die
CATEGORY_LEANBACK_LAUNCHER
-Intent-Anfrage verarbeitet.Dieses Attribut wird als Referenz auf eine Zeichnen-Ressource festgelegt, die das Bild enthält, z. B.
"@drawable/banner"
. Es gibt kein Standardbanner.Weitere Informationen finden Sie unter Bannerbild für den Startbildschirm bereitstellen.
android:dataExtractionRules
Anwendungen können dieses Attribut auf eine XML-Ressource festlegen, in der die Regeln für die Festlegung der Dateien und Verzeichnisse angegeben werden, die im Rahmen von Sicherungs- oder Übertragungsvorgängen vom Gerät kopiert werden können.
Informationen zum Format der XML-Datei finden Sie unter Sichern und Wiederherstellen.
android:debuggable
- Ob die Anwendung auch dann gedebuggt werden kann, wenn sie auf einem Gerät im Nutzermodus ausgeführt wird. Es ist
"true"
, wenn das möglich ist, und"false"
, wenn nicht. Der Standardwert ist"false"
. android:description
- Nutzerlesbarer Text zur Anwendung, der länger und aussagekräftiger ist als das Anwendungslabel. Der Wert wird als Verweis auf eine Stringressource festgelegt. Im Gegensatz zum Label kann es sich nicht um einen Rohstring handeln. Es gibt keinen Standardwert.
android:enabled
- Ob das Android-System Komponenten der Anwendung instanziieren kann. Wenn das möglich ist, wird
"true"
angezeigt, andernfalls"false"
. Wenn der Wert"true"
ist, wird durch dasenabled
-Attribut der einzelnen Komponenten festgelegt, ob diese aktiviert ist. Wenn der Wert"false"
ist, werden die komponentenspezifischen Werte überschrieben und alle Komponenten werden deaktiviert.Der Standardwert ist
"true"
. android:enableOnBackInvokedCallback
- Mit diesem Flag können Sie vorausschauende Systemanimationen auf App-Ebene deaktivieren.
Wenn Sie
android:enableOnBackInvokedCallback=false
festlegen, werden vorausschauende Rückwärtsanimationen entweder auf Aktivitäts- oder auf App-Ebene deaktiviert (je nachdem, wo Sie das Tag einfügen). Außerdem wird das System angewiesen, Aufrufe derOnBackInvokedCallback
-Plattform-API zu ignorieren. android:extractNativeLibs
- Dieses Attribut gibt an, ob der Paketinstallationsprogramm native Bibliotheken aus der APK in das Dateisystem extrahiert. Wenn Sie
"false"
festlegen, werden Ihre nativen Bibliotheken unkomprimiert im APK gespeichert. Auch wenn Ihr APK möglicherweise größer ist, wird Ihre Anwendung schneller geladen, da die Bibliotheken zur Laufzeit direkt aus dem APK geladen werden.Der Standardwert von
extractNativeLibs
hängt vonminSdkVersion
und der verwendeten AGP-Version ab. In den meisten Fällen ist das Standardverhalten wahrscheinlich das gewünschte und Sie müssen dieses Attribut nicht explizit festlegen. android:fullBackupContent
- Dieses Attribut verweist auf eine XML-Datei mit vollständigen Sicherungsregeln für die automatische Sicherung.
Mit diesen Regeln wird festgelegt, welche Dateien gesichert werden. Weitere Informationen finden Sie in der XML-Konfigurationssyntax für die automatische Sicherung.
Dieses Attribut ist optional. Wenn Sie keine Dateien angeben, werden standardmäßig die meisten Dateien Ihrer App gesichert. Weitere Informationen finden Sie unter Dateien, die gesichert werden.
android:fullBackupOnly
- Mit diesem Attribut wird angegeben, ob die automatische Sicherung auf Geräten verwendet werden soll, auf denen sie verfügbar ist. Wenn Sie
"true"
festlegen, führt Ihre App die automatische Sicherung durch, wenn sie auf einem Gerät mit Android 6.0 (API-Level 23) oder höher installiert ist. Auf älteren Geräten wird dieses Attribut von Ihrer App ignoriert und es werden Schlüssel/Wert-Sicherungen ausgeführt.Der Standardwert ist
"false"
. android:gwpAsanMode
- Dieses Attribut gibt an, ob GWP-ASan verwendet werden soll. Dabei handelt es sich um eine native Speicherallokationsfunktion, die dabei hilft, Use-After-Free- und Heap-Buffer-Overflow-Fehler zu finden.
Der Standardwert ist
"never"
. android:hasCode
- Ob die Anwendung DEX-Code enthält, d. h. Code, der die Programmiersprache Kotlin oder Java verwendet.
Wenn das der Fall ist, ist der Wert
"true"
. Andernfalls ist er"false"
. Wenn der Wert"false"
ist, versucht das System beim Starten von Komponenten nicht, Anwendungscode zu laden. Der Standardwert ist"true"
.Wenn die Anwendung nativen (C/C++)-Code, aber keinen DEX-Code enthält, sollte dieser Wert auf
"false"
festgelegt werden. Wenn diese Option auf"true"
festgelegt ist, obwohl das APK keinen DEX-Code enthält, wird die App möglicherweise nicht geladen.Diese Property muss Code berücksichtigen, der über Abhängigkeiten in die Anwendung aufgenommen wurde. Wenn die Anwendung von einer AAR abhängt, die Java-/Kotlin-Code verwendet, oder direkt von einer JAR, muss
app:hasCode
"true"
sein oder weggelassen werden, da dies der Standard ist.Ihre App unterstützt beispielsweise Play Feature Delivery und enthält Funktionsmodule, die keine DEX-Dateien generieren, die für die Android-Plattform optimierter Bytecode sind. In diesem Fall müssen Sie diese Eigenschaft in der Manifestdatei des Moduls auf
"false"
festlegen, um Laufzeitfehler zu vermeiden. android:hasFragileUserData
- Gibt an, ob der Nutzer aufgefordert werden soll, die Daten der App zu behalten, wenn er die App deinstalliert. Der Standardwert ist
"false"
. android:hardwareAccelerated
- Gibt an, ob das hardwarebeschleunigte Rendering für alle Aktivitäten und Ansichten in dieser Anwendung aktiviert ist. Wenn die Funktion aktiviert ist, wird
"true"
angezeigt, andernfalls"false"
. Der Standardwert ist"true"
, wenn Sie entwederminSdkVersion
odertargetSdkVersion
auf"14"
oder höher festlegen. Andernfalls ist es"false"
.Ab Android 3.0 (API-Level 11) steht für Anwendungen ein hardwaregestützter OpenGL-Renderer zur Verfügung, um die Leistung bei vielen gängigen 2D-Grafikoperationen zu verbessern. Wenn der hardwaregestützte Renderer aktiviert ist, werden die meisten Vorgänge in Canvas, Paint, Xfermode, ColorFilter, Shader und Camera beschleunigt.
Dies führt zu flüssigeren Animationen, flüssigerem Scrollen und einer verbesserten Reaktionsfähigkeit insgesamt, auch bei Anwendungen, die die OpenGL-Bibliotheken des Frameworks nicht explizit nutzen.
Nicht alle OpenGL 2D-Vorgänge werden beschleunigt. Wenn Sie den hardwarebeschleunigten Renderer aktivieren, testen Sie Ihre Anwendung, damit der Renderer fehlerfrei verwendet werden kann.
Weitere Informationen finden Sie im Leitfaden zur Hardwarebeschleunigung.
android:icon
- Ein Symbol für die Anwendung als Ganzes und das Standardsymbol für jede Komponente der Anwendung. Weitere Informationen finden Sie in den einzelnen
icon
-Attributen für die Elemente<activity>
,<activity-alias>
,<service>
,<receiver>
und<provider>
.Dieses Attribut wird als Referenz auf eine Zeichnen-Ressource festgelegt, die das Bild enthält, z. B.
"@drawable/icon"
. Es gibt kein Standardsymbol. android:isGame
- Ob es sich um eine App oder ein Spiel handelt. Das System kann Anwendungen, die als Spiele klassifiziert sind, zusammenfassen oder sie getrennt von anderen Anwendungen anzeigen. Der Standardwert ist
"false"
. android:isMonitoringTool
Gibt an, dass diese Anwendung zum Überwachen anderer Personen dient.
Hinweis : Wenn eine App dieses Attribut in ihrem Manifest deklariert, muss der Entwickler die Richtlinie zu Stalkerware einhalten, um die App bei Google Play zu veröffentlichen.
Es gibt keinen Standardwert. Der Entwickler muss einen der folgenden Werte angeben:
Wert Beschreibung "parental_control"
Die App ist eine Jugendschutz-App und richtet sich speziell an Eltern, die um die Sicherheit ihrer Kinder besorgt sind. "enterprise_management"
Die App richtet sich an Unternehmen, die an Mitarbeiter ausgegebene Geräte verwalten und tracken möchten. "other"
Die App richtet sich an einen Anwendungsfall, der in dieser Tabelle nicht anders angegeben ist. android:killAfterRestore
Gibt an, ob die Anwendung beendet wird, nachdem ihre Einstellungen bei einer vollständigen Systemwiederherstellung wiederhergestellt wurden. Wiederherstellungsvorgänge für einzelne Pakete führen nie zum Herunterfahren der Anwendung. Die vollständige Systemwiederherstellung erfolgt in der Regel nur einmal, wenn das Smartphone zum ersten Mal eingerichtet wird. Drittanbieteranwendungen müssen dieses Attribut normalerweise nicht verwenden.
Der Standardwert ist
"true"
. Das bedeutet, dass die Anwendung nach Abschluss der Datenverarbeitung während einer vollständigen Systemwiederherstellung beendet wird.android:largeHeap
Gibt an, ob die Prozesse der Anwendung mit einem großen Dalvik-Heap erstellt werden. Dies gilt für alle für die Anwendung erstellten Prozesse. Sie gilt nur für die erste Anwendung, die in einen Prozess geladen wird. Wenn Sie eine freigegebene Nutzer-ID verwenden, damit mehrere Anwendungen einen Prozess nutzen können, müssen alle diese Anwendungen diese Option einheitlich verwenden, um unvorhersehbare Ergebnisse zu vermeiden.
Die meisten Apps benötigen das nicht und konzentrieren sich stattdessen darauf, die Arbeitsspeichernutzung insgesamt zu reduzieren, um die Leistung zu verbessern. Die Aktivierung dieser Funktion garantiert auch nicht, dass der verfügbare Arbeitsspeicher um einen bestimmten Wert erhöht wird, da einige Geräte durch ihren insgesamt verfügbaren Arbeitsspeicher eingeschränkt sind.
Verwenden Sie die Methoden
getMemoryClass()
odergetLargeMemoryClass()
, um die verfügbare Speichergröße zur Laufzeit abzufragen.android:label
- Ein für Nutzer lesbares Label für die Anwendung insgesamt und ein Standardlabel für jede Komponente der Anwendung. Weitere Informationen finden Sie in den einzelnen
label
-Attributen für die Elemente<activity>
,<activity-alias>
,<service>
,<receiver>
und<provider>
.Das Label wird als Verweis auf eine Stringressource festgelegt, damit es wie andere Strings in der Benutzeroberfläche lokalisiert werden kann. Zur Vereinfachung während der Entwicklung der Anwendung kann er jedoch auch als Rohstring festgelegt werden.
android:logo
- Ein Logo für die Anwendung insgesamt und das Standardlogo für Aktivitäten.
Dieses Attribut wird als Referenz auf eine Zeichnen-Ressource festgelegt, die das Bild enthält, z. B.
"@drawable/logo"
. Es gibt kein Standardlogo. android:manageSpaceActivity
- Der voll qualifizierte Name einer
Activity
-Unterklasse, die vom System gestartet wird, damit Nutzer den von der Anwendung auf dem Gerät belegten Arbeitsspeicher verwalten können. Die Aktivität wird auch mit einem<activity>
-Element deklariert. android:name
- Der vollständig qualifizierte Name einer
Application
-Unterklasse, die für die Anwendung implementiert wurde. Wenn der Anwendungsvorgang gestartet wird, wird diese Klasse vor allen Komponenten der Anwendung instanziiert.Die Unterklasse ist optional. Bei den meisten Anwendungen ist das nicht erforderlich. In Ermangelung einer Unterklasse verwendet Android eine Instanz der Basisklasse
Application
. android:networkSecurityConfig
Gibt den Namen der XML-Datei an, die die Netzwerksicherheitskonfiguration Ihrer Anwendung enthält. Der Wert ist ein Verweis auf die XML-Ressourcendatei, die die Konfiguration enthält.
Dieses Attribut wurde in API-Ebene 24 hinzugefügt.
android:permission
- Der Name einer Berechtigung, die Clients benötigen, um mit der Anwendung zu interagieren. Mit diesem Attribut können Sie eine Berechtigung festlegen, die für alle Komponenten der Anwendung gilt. Sie wird überschrieben, indem die
permission
-Attribute der einzelnen Komponenten festgelegt werden.Weitere Informationen zu Berechtigungen finden Sie im Abschnitt Berechtigungen in der Übersicht zum App-Manifest und in den Sicherheitstipps.
android:persistent
- Ob die Anwendung immer ausgeführt wird. Wenn das der Fall ist, ist es
"true"
, andernfalls"false"
. Der Standardwert ist"false"
. Normalerweise wird dieses Flag nicht von Anwendungen festgelegt. Der Persistenzmodus ist nur für bestimmte Systemanwendungen vorgesehen. android:process
- Der Name eines Prozesses, in dem alle Komponenten der Anwendung ausgeführt werden.
Jede Komponente kann diesen Standardwert überschreiben, indem sie ein eigenes
process
-Attribut festlegt.Standardmäßig erstellt Android einen Prozess für eine Anwendung, wenn die erste ihrer Komponenten ausgeführt werden muss. Alle Komponenten werden dann in diesem Prozess ausgeführt. Der Name des Standardprozesses stimmt mit dem Paketnamen überein, der durch das Element
<manifest>
festgelegt wurde.Wenn Sie dieses Attribut auf einen Prozessnamen festlegen, der mit einer anderen Anwendung geteilt wird, können Sie dafür sorgen, dass Komponenten der beiden Anwendungen im selben Prozess ausgeführt werden. Dies ist jedoch nur möglich, wenn die beiden Anwendungen dieselbe Nutzer-ID haben und mit demselben Zertifikat signiert sind.
Wenn der diesem Attribut zugewiesene Name mit einem Doppelpunkt (
:
) beginnt, wird bei Bedarf ein neuer Prozess erstellt, der nur für die Anwendung verwendet wird. Wenn der Prozessname mit einem Kleinbuchstaben beginnt, wird ein globaler Prozess dieses Namens erstellt. Ein globaler Prozess kann mit anderen Anwendungen geteilt werden, wodurch die Ressourcennutzung reduziert wird. android:restoreAnyVersion
- Gibt an, dass die Anwendung bereit ist, einen gesicherten Datensatz wiederherzustellen, auch wenn die Sicherung mit einer neueren Version der Anwendung gespeichert wurde, als derzeit auf dem Gerät installiert ist. Wenn Sie dieses Attribut auf
"true"
festlegen, kann der Sicherungsmanager versuchen, eine Wiederherstellung durchzuführen, auch wenn eine Versionsabweichung darauf hindeutet, dass die Daten nicht kompatibel sind. Mit Vorsicht zu verwenden!Der Standardwert dieses Attributs ist
"false"
. android:requestLegacyExternalStorage
-
Ob die Anwendung den speicherortspezifischen Speicher deaktivieren möchte.
Hinweis:Je nach Änderungen im Zusammenhang mit Richtlinien oder App-Kompatibilität wird dieser Antrag auf Deaktivierung möglicherweise nicht vom System berücksichtigt.
android:requiredAccountType
- Gibt den Kontotyp an, der für die Funktion der Anwendung erforderlich ist.
Wenn für Ihre App ein
Account
erforderlich ist, muss der Wert für dieses Attribut dem Kontoauthentifikatortyp entsprechen, der von Ihrer App verwendet wird, wie vonAuthenticatorDescription
definiert, z. B."com.google"
.Der Standardwert ist „null“ und gibt an, dass die Anwendung ohne Konten funktionieren kann.
Da in eingeschränkten Profilen keine Konten hinzugefügt werden können, ist Ihre App in einem solchen Profil nicht verfügbar, wenn Sie dieses Attribut angeben, es sei denn, Sie deklarieren auch
android:restrictedAccountType
mit demselben Wert.Achtung:Wenn die Kontodaten personenidentifizierbare Informationen enthalten könnten, ist es wichtig, dass Sie dieses Attribut deklarieren und
android:restrictedAccountType
auf null setzen. So können Nutzer mit eingeschränkten Profilen nicht über Ihre App auf personenbezogene Daten des Kontoinhabers zugreifen.Dieses Attribut wurde in API-Ebene 18 hinzugefügt.
android:resizeableActivity
-
Gibt an, ob die App den Multifenstermodus unterstützt. Sie können dieses Attribut entweder im Element
<activity>
oder<application>
festlegen.Wenn Sie dieses Attribut auf
"true"
festlegen, kann der Nutzer die Aktivität im Splitscreen- und im Freiformmodus starten. Wenn Sie das Attribut auf"false"
festlegen, kann die App nicht für eine Umgebung mit mehreren Fenstern getestet oder optimiert werden. Das System kann die Aktivität weiterhin im Mehrfenstermodus mit angewendetem Kompatibilitätsmodus starten.Wenn Sie dieses Attribut auf
"true"
festlegen, ist nicht garantiert, dass auf dem Bildschirm keine anderen Apps im Multifenstermodus zu sehen sind, z. B. im Bild-im-Bild-Modus oder auf anderen Displays. Das Festlegen dieses Flags bedeutet also nicht, dass Ihre App exklusiven Ressourcenzugriff hat.Für Apps mit Ausrichtung auf API-Level 24 oder höher ist standardmäßig
"true"
festgelegt.Wenn Ihre App auf API-Level 31 oder höher ausgerichtet ist, funktioniert dieses Attribut auf kleinen und großen Bildschirmen unterschiedlich:
- Große Bildschirme (sw >= 600 dp): Alle Apps unterstützen den Mehrfenstermodus. Das Attribut gibt an, ob die Größe einer App geändert werden kann, nicht ob die App den Modus mit mehreren Fenstern unterstützt. Bei
resizeableActivity="false"
wird die App bei Bedarf in den Kompatibilitätsmodus versetzt, um die Displayabmessungen einzuhalten. - Kleine Bildschirme (sw < 600 dp): Wenn
resizeableActivity="true"
und die Mindestbreite und Mindesthöhe der Hauptaktivität die Anforderungen für den Multifenstermodus erfüllen, unterstützt die App den Multifenstermodus. WennresizeableActivity="false"
, unterstützt die App den Multifenstermodus unabhängig von der Mindestbreite und -höhe der Aktivität nicht.
Hinweis:Gerätehersteller können das Verhalten der API-Ebene 31 überschreiben.
Dieses Attribut wurde in API-Ebene 24 hinzugefügt.
Hinweis:Der Wert der Root-Aktivität einer Aufgabe wird auf alle zusätzlichen Aktivitäten angewendet, die in der Aufgabe gestartet werden. Wenn also die Root-Aktivität einer Aufgabe veränderbar ist, behandelt das System alle anderen Aktivitäten in der Aufgabe als veränderbar. Wenn die Stammaktivität nicht skalierbar ist, können auch die anderen Aktivitäten in der Aufgabe nicht skaliert werden.
- Große Bildschirme (sw >= 600 dp): Alle Apps unterstützen den Mehrfenstermodus. Das Attribut gibt an, ob die Größe einer App geändert werden kann, nicht ob die App den Modus mit mehreren Fenstern unterstützt. Bei
android:restrictedAccountType
- Gibt den für diese Anwendung erforderlichen Kontotyp an und gibt an, dass eingeschränkte Profile auf solche Konten zugreifen können, die dem Eigentümernutzer gehören. Wenn für Ihre App ein
Account
erforderlich ist und eingeschränkte Profile auf die Konten des Hauptnutzers zugreifen können, muss der Wert für dieses Attribut dem von Ihrer App verwendeten Kontoauthentifizierungstyp entsprechen, wie inAuthenticatorDescription
definiert, z. B."com.google"
.Der Standardwert ist „null“ und gibt an, dass die Anwendung ohne Konten funktionieren kann.
Achtung:Wenn Sie dieses Attribut angeben, können Nutzer mit eingeschränkten Profilen Ihre App mit Konten verwenden, die dem Eigentümernutzer gehören. Dies kann zur Offenlegung personenidentifizierbarer Informationen führen. Wenn das Konto personenbezogene Daten offenlegen könnte, verwenden Sie dieses Attribut nicht. Deklarieren Sie stattdessen das Attribut
android:requiredAccountType
, um Ihre App für eingeschränkte Profile nicht verfügbar zu machen.Dieses Attribut wurde in API-Ebene 18 hinzugefügt.
android:supportsRtl
Gibt an, ob Ihre Anwendung Layouts mit einer Leserichtung von rechts nach links unterstützt.
Wenn dieser Wert auf
"true"
undtargetSdkVersion
auf 17 oder höher festgelegt ist, werden verschiedene RTL-APIs aktiviert und vom System verwendet, damit Ihre App RTL-Layouts anzeigen kann. Wenn diese Einstellung auf"false"
festgelegt ist odertargetSdkVersion
auf 16 oder niedriger, werden die RTL-APIs ignoriert oder haben keine Auswirkungen. Ihre App verhält sich dann unabhängig von der Layoutrichtung, die mit der Landessprache des Nutzers verknüpft ist, gleich. Das heißt, Ihre Layouts sind immer von links nach rechts.Der Standardwert dieses Attributs ist
"false"
.Dieses Attribut wurde in API-Ebene 17 hinzugefügt.
android:taskAffinity
- Ein Affinitätsname, der auf alle Aktivitäten innerhalb der Anwendung angewendet wird, mit Ausnahme derjenigen, die mit ihren eigenen
taskAffinity
-Attributen eine andere Affinität festlegen. Weitere Informationen finden Sie unter diesem Attribut.Standardmäßig haben alle Aktivitäten innerhalb einer Anwendung dieselbe Affinität. Der Name dieser Affinität stimmt mit dem Paketnamen überein, der durch das
<manifest>
-Element festgelegt wurde. android:testOnly
- Gibt an, ob diese Anwendung nur zu Testzwecken dient. Beispielsweise können Funktionen oder Daten außerhalb des Codes freigegeben werden, die eine Sicherheitslücke verursachen, aber für Tests nützlich sind. Diese Art von APK wird nur über
adb
installiert. Sie können sie nicht bei Google Play veröffentlichen.Dieses Attribut wird in Android Studio automatisch hinzugefügt, wenn Sie auf Ausführen
klicken.
android:theme
- Ein Verweis auf eine Stilressource, die ein Standarddesign für alle Aktivitäten in der Anwendung definiert. Für einzelne Aktivitäten kann der Standardwert überschrieben werden, indem eigene
theme
-Attribute festgelegt werden. Weitere Informationen finden Sie unter Stile und Themen. android:uiOptions
- Zusätzliche Optionen für die Benutzeroberfläche einer Aktivität. Dies muss einer der folgenden Werte sein:
Wert Beschreibung "none"
Keine zusätzlichen Optionen für die Benutzeroberfläche. Das ist die Standardeinstellung. "splitActionBarWhenNarrow"
Fügen Sie eine Leiste unten auf dem Bildschirm hinzu, um Aktionselemente in der App-Leiste, auch Aktionsleiste genannt, anzuzeigen, wenn der horizontale Platz begrenzt ist, z. B. im Hochformat auf einem Smartphone. Anstatt einer kleinen Anzahl von Aktionselementen, die in der App-Leiste oben auf dem Bildschirm angezeigt werden, wird die App-Leiste in den oberen Navigationsbereich und die untere Leiste für Aktionselemente unterteilt. So ist ausreichend Platz für die Aktionselemente sowie für die Navigations- und Titelelemente oben vorhanden. Die Menüpunkte werden nicht auf die beiden Balken verteilt. Sie werden immer zusammen angezeigt. Weitere Informationen zur App-Leiste finden Sie unter App-Leiste hinzufügen.
Dieses Attribut wurde in API-Ebene 14 hinzugefügt.
android:usesCleartextTraffic
- Gibt an, ob die App Klartext-Netzwerkverkehr wie Klartext-HTTP verwenden soll.
Der Standardwert für Apps, die auf API-Level 27 oder niedriger ausgerichtet sind, ist
"true"
. Bei Apps, die auf API-Level 28 oder höher ausgerichtet sind, wird standardmäßig"false"
verwendet.Wenn das Attribut auf
"false"
festgelegt ist, lehnen Plattformkomponenten wie HTTP- und FTP-Stacks,DownloadManager
undMediaPlayer
, die Anfragen der App zur Verwendung von Klartext-Traffic ab.Wir empfehlen dringend, diese Einstellung auch für Bibliotheken von Drittanbietern zu verwenden. Der Hauptgrund für die Vermeidung von Klartext-Traffic ist der Mangel an Vertraulichkeit, Authentizität und Schutz vor Manipulation. Ein Netzwerkangreifer kann übertragene Daten abfangen und auch ändern, ohne dass es bemerkt wird.
Dieses Flag wird nach dem Best-Effort-Prinzip berücksichtigt, da es aufgrund des ihnen gewährten Zugriffslevels nicht möglich ist, den gesamten Klartextverkehr von Android-Anwendungen zu verhindern. Es ist beispielsweise nicht davon auszugehen, dass die
Socket
API dieses Flag berücksichtigt, da sie nicht feststellen kann, ob der Traffic im Klartext vorliegt.Der Großteil des Netzwerktraffics von Anwendungen wird jedoch von Netzwerkstacks und ‑komponenten höherer Ebene verarbeitet, die dieses Flag entweder aus
ApplicationInfo.flags
oderNetworkSecurityPolicy.isCleartextTrafficPermitted()
lesen können.Hinweis:
WebView
berücksichtigt dieses Attribut für Anwendungen, die auf API-Level 26 oder höher ausgerichtet sind.Während der App-Entwicklung kann StrictMode verwendet werden, um Klartext-Traffic von der App zu identifizieren. Weitere Informationen finden Sie unter
StrictMode.VmPolicy.Builder.detectCleartextNetwork()
.Dieses Attribut wurde in API-Ebene 23 hinzugefügt.
Unter Android 7.0 (API-Level 24) und höher wird dieses Flag ignoriert, wenn eine Android-Netzwerksicherheitskonfiguration vorhanden ist.
android:vmSafeMode
- Gibt an, ob die virtuelle Maschine (VM) im sicheren Modus ausgeführt werden soll. Der Standardwert ist
"false"
.Dieses Attribut wurde in API-Ebene 8 hinzugefügt. Bei einem Wert von
"true"
wurde der Dalvik-JIT-Compiler (Just-In-Time) deaktiviert.Dieses Attribut wurde in API-Ebene 22 angepasst. Bei einem Wert von
"true"
wurde der ART-AOT-Compiler (ahead-of-time) deaktiviert.
Ab AGP 4.2.0 wird das Manifestattribut
extractNativeLibs
durch die DSL-OptionuseLegacyPackaging
ersetzt. Verwenden SieuseLegacyPackaging
in derbuild.gradle
-Datei Ihrer App anstelle vonextractNativeLibs
in der Manifestdatei, um das Komprimierungsverhalten der nativen Bibliothek zu konfigurieren. Weitere Informationen finden Sie in der Releasenote zur Verwendung der DSL zum Paketieren komprimierter nativer Bibliotheken.- eingeführt in:
- API-Level 1
- Weitere Informationen:
<activity>
<service>
<receiver>
<provider>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-01-23 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-01-23 (UTC)."],[],[]]