<Anwendung>

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 und allowTaskReparenting, legen Standardwerte für die entsprechenden Attribute der Komponentenelemente fest. Andere, z. B. debuggable, enabled, description und allowClearUserData, 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 eigenes allowTaskReparenting-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 mit adb 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.

WertBeschreibung
accessibilityApps, die in erster Linie Bedienungshilfen sind, z. B. Screenreader.
audioApps, die hauptsächlich mit Audio oder Musik arbeiten, z. B. Musikplayer
gameApps, die hauptsächlich Spiele sind.
imageApps, die hauptsächlich mit Bildern oder Fotos arbeiten, z. B. Kamera- oder Galerie-Apps.
mapsApps, die hauptsächlich Karten-Apps sind, z. B. Navigations-Apps.
newsApps, die hauptsächlich Nachrichten-Apps sind, z. B. Zeitungen, Zeitschriften oder Sport-Apps.
productivityApps, die hauptsächlich Produktivitäts-Apps sind, z. B. Cloud-Speicher- oder Arbeitsplatz-Apps.
socialApps, die hauptsächlich soziale Apps sind, z. B. Messaging-, Kommunikations-, E-Mail- oder Social-Media-Apps.
videoApps, 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 Status startForeground() 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 das enabled-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 der OnBackInvokedCallback-Plattform-API zu ignorieren.

android:extractNativeLibs

Ab AGP 4.2.0 wird das Manifestattribut extractNativeLibs durch die DSL-Option useLegacyPackaging ersetzt. Verwenden Sie useLegacyPackaging in der build.gradle-Datei Ihrer App anstelle von extractNativeLibs 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.

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 von minSdkVersion 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 entweder minSdkVersion oder targetSdkVersion 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:

WertBeschreibung
"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() oder getLargeMemoryClass(), 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 von AuthenticatorDescription 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. Wenn resizeableActivity="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.

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 in AuthenticatorDescription 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" und targetSdkVersion 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 oder targetSdkVersion 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:
WertBeschreibung
"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 und MediaPlayer, 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 oder NetworkSecurityPolicy.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.

eingeführt in:
API-Level 1
Weitere Informationen:
<activity>
<service>
<receiver>
<provider>