<Anwendung>

Syntax:
<application android:allowTaskReparenting=["true" | "false"]
             android:allowBackup=["true" | "false"]
             android:allowClearUserData=["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:enableOnBackInvokedCallback=["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>
Beschreibung:

Die Erklärung der Anwendung. Dieses Element enthält Unterelemente, in denen jede der Komponenten der Anwendung deklariert wird, 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 gesamte Anwendung fest und werden nicht von den Komponenten überschrieben.

Attribute
android:allowTaskReparenting
Gibt an, ob Aktivitäten, die von der Anwendung definiert werden, von der Aufgabe, die sie gestartet hat, zu der Aufgabe verschoben werden können, für die sie eine Affinität haben, wenn diese Aufgabe als Nächstes in den Vordergrund gerückt wird. "true", wenn sie sich bewegen können, und "false", wenn sie bei der Aufgabe bleiben müssen, mit 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

Gibt an, ob die Anwendung an der Sicherungs- und Wiederherstellungsinfrastruktur teilnehmen darf. Wenn dieses Attribut auf "false" gesetzt ist, wird niemals eine Sicherung oder Wiederherstellung der Anwendung durchgeführt, auch nicht bei einer Vollsicherung des Systems, bei der ansonsten 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, variiert dieses Verhalten. Auf Geräten einiger Hersteller können Sie die Migration der Dateien Ihrer App von Gerät zu Gerät nicht deaktivieren.

Sie können das cloudbasierte Sichern und Wiederherstellen der Dateien Ihrer App jedoch deaktivieren, indem Sie dieses Attribut auf "false" setzen, auch wenn Ihre App auf Android 12 (API‑Level 31) oder höher ausgerichtet ist.

Weitere Informationen finden Sie im Abschnitt Sichern und Wiederherstellen auf der Seite, auf der Verhaltensänderungen für Apps beschrieben werden, die auf Android 12 (API‑Level 31) oder höher ausgerichtet sind.

android:allowClearUserData

Gibt an, ob die Anwendung Nutzerdaten zurücksetzen darf. Dazu gehören Flags, z. B. ob der Nutzer Einführungstipps gesehen hat, sowie benutzerdefinierte Einstellungen und Präferenzen. Der Standardwert dieses Attributs ist "true".

Hinweis:Nur Apps, die Teil des Systemimages sind, können dieses Attribut explizit deklarieren. Drittanbieter-Apps dürfen dieses Attribut nicht in ihre Manifestdateien aufnehmen.

Weitere Informationen finden Sie unter Übersicht über Datensicherung.

android:allowNativeHeapPointerTagging

Gibt an, ob die App die Funktion „Heap-Pointer-Tagging“ aktiviert. Der Standardwert dieses Attributs ist "true".

Hinweis:Wenn Sie diese Funktion deaktivieren, wird das zugrunde liegende Problem mit der Codeintegrität nicht behoben. Zukünftige Hardwaregeräte unterstützen dieses Manifest-Tag möglicherweise nicht.

Weitere Informationen finden Sie unter Tagged Pointers.

android:appCategory

Gibt die Kategorie dieser App an. Kategorien werden verwendet, um mehrere Apps in sinnvolle Gruppen zu unterteilen, z. B. bei der Zusammenfassung der Akku-, Netzwerk- oder Festplattennutzung. Definieren Sie diesen Wert nur für Apps, die gut in eine der spezifischen Kategorien passen.

Muss einer der folgenden konstanten Werte sein.

WertBeschreibung
accessibilityApps, die in erster Linie Bedienungshilfe-Apps 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 Storage- oder Arbeitsplatz-Apps.
socialApps, die hauptsächlich soziale Apps sind, z. B. Messaging-, Kommunikations-, E‑Mail- oder soziale Netzwerk-Apps.
videoApps, die hauptsächlich mit Videos oder Filmen arbeiten, z. B. Videostreaming-Apps.

android:backupAgent
Der Name der Klasse, die den Sicherungs-Agenten der Anwendung implementiert, eine Unterklasse von BackupAgent. Der Attributwert ist ein voll qualifizierter Klassenname, z. B. "com.example.project.MyBackupAgent". Wenn das erste Zeichen des Namens jedoch ein Punkt ist, z. B. ".MyBackupAgent", wird es an den im Element <manifest> angegebenen Paketnamen angehängt.

Es gibt keine Standardeinstellung. Der Name muss spezifisch sein.

android:backupInForeground
Gibt an, dass automatische Sicherungen für diese App ausgeführt werden können, auch wenn sich die App in einem dem Vordergrund entsprechenden Status befindet. Das System schließt eine App während der automatischen Sicherung, daher sollte dieses Attribut mit Vorsicht verwendet werden. Wenn Sie dieses Flag auf "true" setzen, kann sich das auf das Verhalten der App auswirken, während sie 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 aktiv Musik über einen Dienst im Status startForeground() wiedergibt.

android:banner
Eine zeichenfähige Ressource, die ein erweitertes grafisches Banner für das zugehörige Element bereitstellt. Verwenden Sie dieses Element 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 dieses Attribut daher nur für Anwendungen mit einer Aktivität an, die den CATEGORY_LEANBACK_LAUNCHER-Intent verarbeitet.

Dieses Attribut wird als Referenz auf eine zeichnungsfähige 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 angegeben werden, die bestimmen, welche Dateien und Verzeichnisse 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
Gibt an, ob die Anwendung auch dann debuggt werden kann, wenn sie auf einem Gerät im Nutzermodus ausgeführt wird. "true", wenn es möglich ist, und "false", wenn nicht. Der Standardwert ist "false".
android:description
Für Nutzer lesbarer Text zur Anwendung, der länger und beschreibender als das Anwendungslabel ist. Der Wert wird als Verweis auf eine String-Ressource festgelegt. Im Gegensatz zum Label kann es sich nicht um einen Raw-String handeln. Es gibt keinen Standardwert.
android:enabled
Ob das Android-System Komponenten der Anwendung instanziieren kann. "true", wenn das möglich ist, und "false", wenn nicht. Wenn der Wert "true" ist, wird anhand des Attributs enabled jeder Komponente bestimmt, ob die Komponente aktiviert ist. Wenn der Wert "false" ist, werden die komponentenbezogenen Werte überschrieben und alle Komponenten werden deaktiviert.

Der Standardwert ist "true".

android:enableOnBackInvokedCallback

Mit diesem Flag können Sie intelligente Systemanimationen auf App-Ebene deaktivieren.

Legen Sie android:enableOnBackInvokedCallback=false fest, um die Animationen für die intelligente „Zurück“-Touchgeste auf App-Ebene zu deaktivieren und das System anzuweisen, Aufrufe der Plattform-API OnBackInvokedCallback zu ignorieren.

android:extractNativeLibs

Ab AGP 4.2.0 ersetzt die DSL-Option useLegacyPackaging das Manifestattribut extractNativeLibs. Verwenden Sie useLegacyPackaging in der build.gradle-Datei Ihrer App anstelle von extractNativeLibs in der Manifestdatei, um das Komprimierungsverhalten nativer Bibliotheken zu konfigurieren. Weitere Informationen finden Sie in den Versionshinweisen unter Verwendung der DSL für das Verpacken komprimierter nativer Bibliotheken.

Dieses Attribut gibt an, ob der Paketinstaller native Bibliotheken aus dem APK-Paket in das Dateisystem extrahiert. Wenn diese Option auf "false" festgelegt ist, werden Ihre nativen Bibliotheken unkomprimiert im APK gespeichert. Ihr APK ist zwar möglicherweise größer, aber Ihre Anwendung wird 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, was Sie möchten, und Sie müssen dieses Attribut nicht explizit festlegen.

android:fullBackupContent
Dieses Attribut verweist auf eine XML-Datei, die vollständige Sicherungsregeln für die automatische Sicherung enthält. Diese Regeln legen fest, welche Dateien gesichert werden. Weitere Informationen finden Sie unter XML-Konfigurationssyntax für die automatische Sicherung.

Dieses Attribut ist optional. Wenn es nicht angegeben ist, enthält die automatische Sicherung standardmäßig die meisten Dateien Ihrer App. Weitere Informationen finden Sie unter Gesicherte Dateien.

android:fullBackupOnly
Dieses Attribut gibt an, ob auf Geräten, auf denen die Funktion verfügbar ist, Automatische Sicherung verwendet werden soll. Wenn der Wert auf "true" festgelegt ist, wird für Ihre App die automatische Sicherung ausgeführt, 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 durchgeführt.

Der Standardwert ist "false".

android:gwpAsanMode
Dieses Attribut gibt an, ob GWP-ASan verwendet werden soll. Das ist eine Funktion für die native Speicherzuweisung, mit der sich Use-After-Free- und Heap-Buffer-Overflow-Fehler finden lassen.

Der Standardwert ist "never".

android:hasCode
Ob die Anwendung DEX-Code enthält, d. h. Code in der Programmiersprache Kotlin oder Java. "true", wenn das der Fall ist, und "false", wenn nicht. 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 der Wert auf "true" festgelegt ist und das APK keinen DEX-Code enthält, kann die App möglicherweise nicht geladen werden.

Diese Property muss Code berücksichtigen, der durch Abhängigkeiten in die Anwendung eingebunden wird. Wenn die Anwendung von einem AAR abhängt, in dem Java-/Kotlin-Code verwendet wird, oder direkt von einem JAR, muss app:hasCode "true" sein oder weggelassen werden, da dies die Standardeinstellung ist.

Ihre App unterstützt beispielsweise Play Feature Delivery und enthält Funktionsmodule, aus denen keine DEX-Dateien generiert werden. DEX-Dateien enthalten Bytecode, der für die Android-Plattform optimiert ist. Wenn ja, müssen Sie diese Eigenschaft in der Manifestdatei des Moduls auf "false" festlegen, um Laufzeitfehler zu vermeiden.

android:hasFragileUserData
Gibt an, ob dem Nutzer eine Aufforderung angezeigt werden soll, die Daten der App beizubehalten, wenn er die App deinstalliert. Der Standardwert ist "false".
android:hardwareAccelerated
Gibt an, ob hardwarebeschleunigtes Rendering für alle Aktivitäten und Ansichten in dieser Anwendung aktiviert ist. "true", wenn die Funktion aktiviert ist, und "false", wenn nicht. Der Standardwert ist "true", wenn Sie entweder minSdkVersion oder targetSdkVersion auf "14" oder höher setzen. Andernfalls ist es "false".

Ab Android 3.0 (API-Level 11) ist für Anwendungen ein hardwarebeschleunigter OpenGL-Renderer verfügbar, um die Leistung bei vielen gängigen 2D-Grafikvorgängen zu verbessern. Wenn der hardwarebeschleunigte Renderer aktiviert ist, werden die meisten Vorgänge in Canvas, Paint, Xfermode, ColorFilter, Shader und Camera beschleunigt.

Das führt zu flüssigeren Animationen, einem flüssigeren Scrollen und einer insgesamt besseren Reaktionsfähigkeit, auch bei Anwendungen, die die OpenGL-Bibliotheken des Frameworks nicht explizit verwenden.

Nicht alle OpenGL-2D-Vorgänge werden beschleunigt. Wenn Sie den hardwarebeschleunigten Renderer aktivieren, testen Sie Ihre Anwendung, damit sie den Renderer fehlerfrei nutzen 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 der Komponenten 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 zeichenfähige Ressource festgelegt, die das Bild enthält, z. B. "@drawable/icon". Es gibt kein Standardsymbol.

android:isGame
Gibt an, ob es sich bei der Anwendung um ein Spiel handelt. Das System kann Anwendungen, die als Spiele klassifiziert sind, gruppieren oder separat von anderen Anwendungen anzeigen. Der Standardwert ist "false".
android:isMonitoringTool

Gibt an, dass diese Anwendung zur Überwachung anderer Personen entwickelt wurde.

Hinweis : Wenn eine App dieses Attribut in ihrem Manifest deklariert, muss der Entwickler die Stalkerware-Richtlinie 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 verfügt über Jugendschutzeinstellungen 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 ist für einen Anwendungsfall vorgesehen, der in dieser Tabelle nicht anderweitig angegeben ist.
android:killAfterRestore

Gibt an, ob die Anwendung beendet wird, nachdem ihre Einstellungen während einer vollständigen Systemwiederherstellung wiederhergestellt wurden. Bei Wiederherstellungsvorgängen für einzelne Pakete wird die Anwendung nie geschlossen. Die Wiederherstellung des gesamten Systems 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 beendet wird, nachdem sie ihre Daten während einer vollständigen Systemwiederherstellung verarbeitet hat.

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 gemeinsame Nutzer-ID verwenden, damit mehrere Anwendungen einen Prozess nutzen können, müssen alle diese Option einheitlich verwenden, um unvorhersehbare Ergebnisse zu vermeiden.

Die meisten Apps benötigen dies nicht und konzentrieren sich stattdessen darauf, die Arbeitsspeichernutzung insgesamt zu reduzieren, um die Leistung zu verbessern. Auch wenn Sie diese Option aktivieren, ist keine feste Steigerung des verfügbaren Arbeitsspeichers garantiert, da einige Geräte durch ihren gesamten 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 als Ganzes und ein Standardlabel für jede der Komponenten 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 String-Ressource festgelegt, damit es wie andere Strings in der Benutzeroberfläche lokalisiert werden kann. Während der Entwicklung der Anwendung kann sie jedoch auch als Rohstring festgelegt werden.

android:logo
Ein Logo für die Anwendung als Ganzes und das Standardlogo für Aktivitäten. Dieses Attribut wird als Referenz auf eine zeichenfähige Ressource festgelegt, die das Bild enthält, z. B. "@drawable/logo". Es gibt kein Standardlogo.
android:manageSpaceActivity
Der vollständig qualifizierte Name einer Activity-Unterklasse, die das System startet, damit Nutzer den vom Gerät belegten Speicherplatz der Anwendung verwalten können. Die Aktivität wird auch mit einem <activity>-Element deklariert.
android:name
Der voll qualifizierte Name einer Application-Unterklasse, die für die Anwendung implementiert wurde. Wenn der Bewerbungsprozess gestartet wird, wird diese Klasse vor allen Komponenten der Anwendung instanziiert.

Die Unterklasse ist optional. Die meisten Anwendungen benötigen keine. Wenn keine untergeordnete Klasse vorhanden ist, 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 interagieren zu können. Mit diesem Attribut lässt sich eine Berechtigung festlegen, die für alle Komponenten der Anwendung gilt. Sie wird überschrieben, wenn die permission-Attribute einzelner Komponenten festgelegt werden.

Weitere Informationen zu Berechtigungen finden Sie im Abschnitt Berechtigungen in der Übersicht zum App-Manifest und unter Sicherheitstipps.

android:persistent
Gibt an, ob die Anwendung immer ausgeführt wird. "true", wenn das der Fall ist, und "false", wenn nicht. Der Standardwert ist "false". Anwendungen legen dieses Flag normalerweise nicht fest. 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 ihr 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 entspricht dem Paketnamen, der durch das <manifest>-Element festgelegt wurde.

Wenn Sie dieses Attribut auf einen Prozessnamen festlegen, der von einer anderen Anwendung verwendet wird, können Sie dafür sorgen, dass Komponenten beider Anwendungen im selben Prozess ausgeführt werden. Dies ist jedoch nur möglich, wenn die beiden Anwendungen auch eine gemeinsame Nutzer-ID haben und mit demselben Zertifikat signiert sind.

Wenn der Name, der diesem Attribut zugewiesen ist, mit einem Doppelpunkt (:) beginnt, wird bei Bedarf ein neuer Prozess erstellt, der für die Anwendung privat ist. Wenn der Prozessname mit einem Kleinbuchstaben beginnt, wird ein globaler Prozess mit diesem Namen erstellt. Ein globaler Prozess kann mit anderen Anwendungen geteilt werden, wodurch die Ressourcennutzung reduziert wird.

android:restoreAnyVersion
Gibt an, dass die Anwendung bereit ist, eine Wiederherstellung aller gesicherten Datasets zu versuchen, auch wenn die Sicherung von einer neueren Version der Anwendung gespeichert wurde als der Version, die derzeit auf dem Gerät installiert ist. Wenn Sie dieses Attribut auf "true" festlegen, kann der Backup Manager
  • $1
  • Sie können versuchen, eine Wiederherstellung durchzuführen, auch wenn ein Versionskonflikt darauf hindeutet, dass die Daten inkompatibel sind. Mit Vorsicht zu verwenden!

    Der Standardwert dieses Attributs ist "false".

    android:requestLegacyExternalStorage

    Gibt an, ob die Anwendung begrenzter Speicher deaktivieren möchte.

    Hinweis:Je nach Änderungen in Bezug auf Richtlinien oder App-Kompatibilität wird dieser Deaktivierungsantrag möglicherweise nicht 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 von Ihrer App verwendeten Kontoauthentifizierungstyp entsprechen, wie durch AuthenticatorDescription definiert, z. B. "com.google".

    Der Standardwert ist „null“. Das bedeutet, dass die Anwendung ohne Konten verwendet werden kann.

    Da in eingeschränkten Profilen keine Konten hinzugefügt werden können, ist Ihre App in einem eingeschränkten Profil nicht verfügbar, wenn Sie dieses Attribut angeben, es sei denn, Sie deklarieren auch android:restrictedAccountType mit demselben Wert.

    Achtung:Wenn die Kontodaten möglicherweise personenidentifizierbare Informationen enthalten, müssen Sie dieses Attribut deklarieren und android:restrictedAccountType auf „null“ setzen, damit eingeschränkte Profile nicht über Ihre App auf personenbezogene Daten des Eigentümernutzers zugreifen können.

    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 im Element <application> festlegen.

    Wenn Sie dieses Attribut auf "true" festlegen, kann der Nutzer die Aktivität im Splitscreen- und Freiformmodus starten. Wenn Sie das Attribut auf "false" setzen, kann die App nicht für eine Umgebung mit Mehrfenstermodus getestet oder optimiert werden. Das System kann die Aktivität weiterhin im Mehrfenstermodus mit angewendetem Kompatibilitätsmodus ausführen.

    Wenn Sie dieses Attribut auf "true" festlegen, wird nicht garantiert, dass im Mehrfenstermodus keine anderen Apps auf dem Bildschirm oder auf anderen Displays zu sehen sind, z. B. im Bild-im-Bild-Modus. Wenn Sie dieses Flag festlegen, bedeutet das also nicht, dass Ihre App exklusiven Zugriff auf Ressourcen hat.

    Bei Apps, die auf API-Level 24 oder höher ausgerichtet sind, ist "true" die Standardeinstellung.

    Wenn Ihre App auf API‑Level 31 oder höher ausgerichtet ist, funktioniert dieses Attribut auf kleinen und großen Bildschirmen unterschiedlich:

    • Große Displays (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 Mehrfenstermodus unterstützt. Wenn resizeableActivity="false", wird die App bei Bedarf in den Kompatibilitätsmodus versetzt, um den Anzeigedimensionen zu entsprechen.
    • Kleine Bildschirme (sw < 600 dp): Wenn resizeableActivity="true" und die Mindestbreite und ‑höhe der Hauptaktivität den Anforderungen für den Mehrfenstermodus entsprechen, unterstützt die App den Mehrfenstermodus. Wenn resizeableActivity="false", unterstützt die App den Mehrfenstermodus unabhängig von der Mindestbreite und ‑höhe der Aktivität nicht.

    Der Wert der Root-Aktivität einer Aufgabe wird auf alle zusätzlichen Aktivitäten angewendet, die in der Aufgabe gestartet werden. Wenn die Root-Aktivität einer Aufgabe also die Größe ändern kann, behandelt das System alle anderen Aktivitäten in der Aufgabe als Aktivitäten, deren Größe geändert werden kann. Wenn die Stammaktivität nicht in der Größe angepasst werden kann, können auch die anderen Aktivitäten in der Aufgabe nicht in der Größe angepasst werden.

    Dieses Attribut wurde in API-Ebene 24 hinzugefügt.

    android:restrictedAccountType
    Gibt den von dieser Anwendung benötigten Kontotyp an und weist darauf hin, dass eingeschränkte Profile auf solche Konten zugreifen können, die dem Inhabernutzer gehören. Wenn für Ihre App ein Account erforderlich ist und eingeschränkte Profile auf die Konten des primären Nutzers zugreifen können, muss der Wert für dieses Attribut dem von Ihrer App verwendeten Kontoauthentifizierungstyp entsprechen, wie durch AuthenticatorDescription definiert, z. B. "com.google".

    Der Standardwert ist „null“. Das bedeutet, dass die Anwendung ohne Konten verwendet werden kann.

    Achtung:Wenn Sie dieses Attribut angeben, können eingeschränkte Profile Ihre App mit Konten des Eigentümernutzers verwenden. Dadurch können personenidentifizierbare Informationen offengelegt werden. Wenn das Konto möglicherweise personenbezogene Daten enthält, 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 Leserichtung von rechts nach links (RTL) unterstützt.

    Wenn dieser Wert auf "true" festgelegt ist und targetSdkVersion auf 17 oder höher gesetzt ist, werden verschiedene RTL-APIs vom System aktiviert und 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 unabhängig von der Layoutrichtung, die mit der Sprachauswahl des Nutzers verknüpft ist, gleich. Das bedeutet, dass Ihre Layouts immer von links nach rechts ausgerichtet sind.

    Der Standardwert dieses Attributs ist "false".

    Dieses Attribut wurde in API-Ebene 17 hinzugefügt.

    android:taskAffinity
    Ein Affinitätsname, der für alle Aktivitäten in der Anwendung gilt, mit Ausnahme derjenigen, für die mit eigenen taskAffinity-Attributen eine andere Affinität festgelegt wird. Weitere Informationen finden Sie unter diesem Attribut.

    Standardmäßig haben alle Aktivitäten in einer Anwendung dieselbe Affinität. Der Name dieser Affinität entspricht dem Paketnamen, der durch das <manifest>-Element festgelegt wird.

    android:testOnly
    Gibt an, ob diese Anwendung nur zu Testzwecken verwendet wird. Beispielsweise kann es Funktionen oder Daten außerhalb des Moduls verfügbar machen, die ein Sicherheitsrisiko darstellen, aber für Tests nützlich sind. Diese Art von APK kann nur über adb installiert werden. Sie können sie nicht bei Google Play veröffentlichen.

    Android Studio fügt dieses Attribut automatisch hinzu, 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. Einzelne Aktivitäten können die Standardeinstellung überschreiben, indem sie eigene theme-Attribute festlegen. Weitere Informationen finden Sie unter Stile und Designs.
    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 UI-Optionen. Das ist die Standardeinstellung.
    "splitActionBarWhenNarrow"Fügt unten auf dem Bildschirm eine Leiste hinzu, in der Aktionen aus der App-Leiste (auch Aktionsleiste genannt) angezeigt werden, wenn der horizontale Platz begrenzt ist, z. B. im Hochformat auf einem Smartphone. Statt einer kleinen Anzahl von Aufgaben, 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 Aufgaben unterteilt. Das bedeutet, dass oben ausreichend Platz für die Aktionsschaltflächen sowie die Navigations- und Titelelemente vorhanden ist. Menüpunkte werden nicht auf die beiden Leisten aufgeteilt. 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.

    Hinweis: Dieses Attribut wird nicht mehr unterstützt und für Apps, die auf API-Level 38 und höher ausgerichtet sind, ignoriert. Geben Sie eine Netzwerksicherheitskonfiguration an, um den Klartext-Datenverkehr für API-Level 24 und höher zu steuern. Wenn Ihre App auf API-Level 23 und darunter ausgerichtet ist, müssen Sie zusätzlich zu einer Netzwerksicherheitskonfiguration android:usesCleartextTraffic angeben.

    Wenn das Attribut auf "false" gesetzt ist, lehnen Plattformkomponenten wie HTTP- und FTP-Stacks (DownloadManager und MediaPlayer) die Anfragen der App zur Verwendung von Klartext-Traffic ab.

    Bibliotheken von Drittanbietern sollten diese Einstellung ebenfalls berücksichtigen. Der Hauptgrund, warum Klartext-Traffic vermieden werden sollte, ist der Mangel an Vertraulichkeit, Authentizität und Schutz vor Manipulationen. Ein Netzwerkangreifer kann übertragene Daten abfangen und auch unbemerkt ändern.

    Dieses Flag wird nach bestem Wissen und Gewissen berücksichtigt, da es aufgrund des Zugriffs, der Android-Anwendungen gewährt wird, unmöglich ist, den gesamten Cleartext-Traffic zu verhindern. Es wird beispielsweise nicht erwartet, dass die Socket API dieses Flag berücksichtigt, da sie nicht feststellen kann, ob ihr Traffic im Klartext erfolgt.

    Der meiste Netzwerkverkehr von Anwendungen wird jedoch von Netzwerkstacks und Komponenten auf höherer Ebene verarbeitet, die dieses Flag berücksichtigen können, indem sie es entweder aus ApplicationInfo.flags oder NetworkSecurityPolicy.isCleartextTrafficPermitted() lesen.

    Hinweis:WebView berücksichtigt dieses Attribut für Anwendungen, die auf API-Level 26 und höher ausgerichtet sind.

    Während der App-Entwicklung kann StrictMode verwendet werden, um jeglichen Cleartext-Traffic der App zu identifizieren. Weitere Informationen finden Sie unter StrictMode.VmPolicy.Builder.detectCleartextNetwork().

    Dieses Attribut wurde in API-Level 23 hinzugefügt.

    Dieses Flag wird unter Android 7.0 (API-Level 24) und höher ignoriert, wenn eine Android-Netzwerksicherheitskonfiguration vorhanden ist.

    android:vmSafeMode
    Gibt an, ob die App möchte, dass die virtuelle Maschine (VM) im abgesicherten Modus ausgeführt wird. Der Standardwert ist "false".

    Dieses Attribut wurde in API-Level 8 hinzugefügt. Ein Wert von "true" hat den Dalvik-JIT-Compiler (Just-In-Time) deaktiviert.

    Dieses Attribut wurde in API-Ebene 22 angepasst. Dort wurde der AOT-Compiler (Ahead-of-Time) von ART durch den Wert "true" deaktiviert.

    Eingeführt in:
    API-Level 1
    Siehe auch:
    <activity>
    <service>
    <receiver>
    <provider>