<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: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 Deklaration der Anwendung. Dieses Element enthält Unterelemente, die jede Komponente der Anwendung deklarieren, sowie 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, wie 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 von der Anwendung definierte Aktivitäten 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 das nächste Mal an den Anfang gebracht wird. Es ist "true", wenn sie verschoben werden 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, das den hier festgelegten Wert überschreiben kann.

android:allowBackup

Gibt an, ob die Anwendung in die Infrastruktur zur Sicherung und Wiederherstellung einbezogen werden soll. Wenn dieses Attribut auf "false" gesetzt ist, wird nie eine Sicherung oder Wiederherstellung der Anwendung durchgeführt, auch nicht durch eine vollständige Systemsicherung, die sonst dazu führt, dass 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 Gerätehersteller können Sie die Migration der App-Dateien von Gerät zu Gerät nicht deaktivieren.

Du kannst jedoch die cloudbasierte Sicherung und Wiederherstellung der Dateien deiner App deaktivieren, indem du dieses Attribut auf "false" setzt, auch wenn deine App auf Android 12 (API-Level 31) oder höher ausgerichtet ist.

Weitere Informationen findest du im Abschnitt Sichern und Wiederherstellen der Seite mit Änderungen des Verhaltens für Apps, die auf Android 12 (API-Level 31) oder höher ausgerichtet sind.

android:allowClearUserData

Gibt an, ob die Anwendung Nutzerdaten zurücksetzen darf. Diese Daten umfassen Flags, z. B., ob der Nutzer einführende Kurzinfos gesehen hat, sowie vom Nutzer anpassbare Einstellungen. Der Standardwert dieses Attributs ist "true".

Hinweis:Nur Apps, die Teil des System-Images sind, können dieses Attribut explizit deklarieren. Apps von Drittanbietern können dieses Attribut nicht in ihre Manifestdateien aufnehmen.

Weitere Informationen finden Sie unter Datensicherung.

android:allowNativeHeapPointerTagging

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

Hinweis: Durch das Deaktivieren dieses Features wird das Problem mit dem zugrunde liegenden Codezustand nicht behoben. Zukünftige Hardwaregeräte unterstützen dieses Manifest-Tag möglicherweise nicht.

Weitere Informationen finden Sie unter Zeiger mit Tags.

android:appCategory

Deklariert die Kategorie dieser Anwendung. Kategorien werden verwendet, um mehrere Anwendungen in sinnvollen Gruppen zusammenzufassen, z. B. beim Zusammenfassen der Akku-, Netzwerk- oder Laufwerksnutzung. Definiere diesen Wert nur für Apps, die gut in eine der spezifischen Kategorien fallen.

Muss einer der folgenden konstanten Werte sein.

AntwortBeschreibung
accessibilityApps, bei denen es sich in erster Linie um Bedienungshilfen wie Screenreader handelt
audioApps, die hauptsächlich mit Audio oder Musik funktionieren, z. B. Musikplayer.
gameApps, die in erster Linie Spiele sind
imageApps, die hauptsächlich mit Bildern oder Fotos arbeiten, z. B. Kamera- oder Galerie-Apps
mapsApps, bei denen es sich in erster Linie um Karten-Apps handelt, z. B. Navigations-Apps.
newsApps, bei denen es sich in erster Linie um Nachrichten-Apps handelt, z. B. Zeitungen, Zeitschriften oder Sport-Apps
productivityApps, bei denen es sich in erster Linie um Produktivitäts-Apps handelt, z. B. Cloud-Speicher- oder Arbeitsplatz-Apps.
socialApps, bei denen es sich in erster Linie um soziale Apps handelt, wie z. B. Messaging-, Kommunikations-, E-Mail- oder soziale Netzwerke.
videoApps, die hauptsächlich mit Videos oder Filmen verwendet werden, z. B. Streaming-Apps

android:backupAgent
Der Name der Klasse, die den Sicherungs-Agent der Anwendung implementiert (eine abgeleitete Klasse von BackupAgent). Der Attributwert ist ein voll qualifizierter Klassenname wie "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 Vorgänge der automatischen Sicherung in dieser App ausgeführt werden können, auch wenn die App im Vordergrund entspricht. Das System fährt eine App während der automatischen Sicherung herunter. Verwenden Sie dieses Attribut daher mit Vorsicht. Wenn dieses Flag auf "true" festgelegt wird, kann sich das auf das Anwendungsverhalten auswirken, während die Anwendung aktiv ist.

Der Standardwert ist "false". Das bedeutet, dass das Betriebssystem keine Sicherung der App durchführt, während sie im Vordergrund ausgeführt wird, z. B. bei einer Musik-App, die aktiv Musik über einen Dienst mit dem Status startForeground() abspielt.

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

Dieses Attribut wird als Verweis auf eine Drawable-Ressource festgelegt, die das Bild enthält, z. B. "@drawable/banner". Es gibt kein Standardbanner.

Weitere Informationen findest du unter Banner für den Startbildschirm bereitstellen.

android:dataExtractionRules

Anwendungen können dieses Attribut auf eine XML-Ressource festlegen, in der sie die Regeln angeben, 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 debuggen werden kann, auch wenn sie auf einem Gerät im Nutzermodus ausgeführt wird. Es ist "true", wenn dies möglich ist, und "false", wenn nicht. Der Standardwert ist "false".
android:description
Für Nutzer lesbarer Text zur Anwendung, der länger und aussagekräftiger als das Anwendungslabel ist. Der Wert wird als Verweis auf eine String-Ressource festgelegt. Im Gegensatz zum Label kann es sich dabei nicht um einen Rohstring handeln. Es gibt keinen Standardwert.
android:enabled
Gibt an, ob das Android-System App-Komponenten instanziieren kann. Es ist "true", wenn dies möglich ist, und andernfalls "false". Wenn der Wert "true" ist, bestimmt das enabled-Attribut jeder Komponente, ob die Komponente aktiviert ist. Wenn der Wert "false" ist, werden die komponentenspezifischen Werte überschrieben und alle Komponenten werden deaktiviert.

Der Standardwert ist "true".

android:extractNativeLibs

Ab AGP 4.2.0 ersetzt die DSL-Option useLegacyPackaging das Manifestattribut extractNativeLibs. Verwende useLegacyPackaging in der build.gradle-Datei deiner App anstelle von extractNativeLibs in der Manifestdatei, um das Komprimierungsverhalten der nativen Bibliothek zu konfigurieren. Weitere Informationen finden Sie im Versionshinweis Mit DSL komprimierte native Bibliotheken verpacken.

Dieses Attribut gibt an, ob das Paketinstallationsprogramm native Bibliotheken aus dem APK in das Dateisystem extrahiert. Wenn "false" festgelegt ist, werden deine nativen Bibliotheken unkomprimiert im APK gespeichert. Auch wenn Ihr APK möglicherweise größer ist, wird Ihre App 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 Ihren Wünschen und Sie müssen dieses Attribut nicht explizit festlegen.

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

Dieses Attribut ist optional. Wenn keine Angabe erfolgt, enthält die automatische Sicherung standardmäßig die meisten Dateien Ihrer Anwendung. Weitere Informationen finden Sie unter Gesicherte Dateien.

android:fullBackupOnly
Dieses Attribut gibt an, ob die automatische Sicherung auf Geräten verwendet werden soll, auf denen sie verfügbar ist. Wenn "true" festgelegt ist, führt Ihre App die automatische Sicherung aus, wenn sie auf einem Gerät mit Android 6.0 (API-Level 23) oder höher installiert ist. Auf älteren Geräten ignoriert die App dieses Attribut und führt Schlüssel/Wert-Sicherungen durch.

Der Standardwert ist "false".

android:gwpAsanMode
Dieses Attribut gibt an, ob GWP-ASan verwendet werden soll, eine native Arbeitsspeicherzuweisungsfunktion, mit der Fehler nach Use-After-Free- und Heap-Puffer-Überlauffehlern gefunden werden können.

Der Standardwert ist "never".

android:hasCode
Gibt an, ob die Anwendung Code enthält. Ist dies der Fall, ist es "true" und andernfalls "false". Wenn der Wert "false" ist, versucht das System beim Starten von Komponenten keinen Anwendungscode zu laden. Der Standardwert ist "true".

Ihre Anwendung kann beispielsweise Play Feature Delivery unterstützen und Featuremodule enthalten, die keine DEX-Dateien generieren. Dies ist für die Android-Plattform optimierter Bytecode. In diesem Fall musst du dieses Attribut in der Manifestdatei des Moduls auf "false" setzen, um Laufzeitfehler zu vermeiden.

android:hasFragileUserData
Gibt an, ob der Nutzer aufgefordert wird, die App-Daten zu behalten, 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. Es ist "true", wenn es aktiviert ist, und "false", wenn nicht. Der Standardwert ist "true", wenn Sie für minSdkVersion oder targetSdkVersion "14" oder höher festlegen. Andernfalls ist es "false".

Ab Android 3.0 (API-Level 11) steht Anwendungen ein hardwarebeschleunigter OpenGL-Renderer zur Verfügung, 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 Kamera beschleunigt.

Dies führt zu flüssigeren Animationen, flüssigem Scrollen und einer insgesamt verbesserten Reaktionsfähigkeit, selbst 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 der Renderer fehlerfrei verwendet werden kann.

Weitere Informationen findest du im Leitfaden zur Hardwarebeschleunigung.

android:icon
Ein Symbol für die gesamte Anwendung und ein Standardsymbol für jede Komponente der Anwendung. Siehe die einzelnen icon-Attribute für die Elemente <activity>, <activity-alias>, <service>, <receiver> und <provider>.

Dieses Attribut wird als Verweis auf eine Drawable-Ressource festgelegt, die das Bild enthält, z. B. "@drawable/icon". Es gibt kein Standardsymbol.

android:isGame
Ob die App ein Spiel ist Das System kann als Spiele klassifizierte Anwendungen gruppieren oder getrennt von anderen Anwendungen anzeigen. Der Standardwert ist "false".
android:isMonitoringTool

Gibt an, dass diese Anwendung zum Überwachen 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:

AntwortBeschreibung
"parental_control"Die App bietet Jugendschutzeinstellungen und richtet sich speziell an Eltern, die für die Sicherheit ihrer Kinder sorgen möchten.
"enterprise_management"Die App eignet sich für Unternehmen, die Geräte, die Mitarbeitern zur Verfügung gestellt werden, verwalten und verfolgen möchten.
"other"Die Anwendung deckt einen Anwendungsfall ab, der in dieser Tabelle nicht anderweitig aufgeführt ist.
android:killAfterRestore
Gibt an, ob die Anwendung während einer vollständigen Systemwiederherstellung beendet wird, nachdem ihre Einstellungen 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 bei der Ersteinrichtung des Smartphones. Anwendungen von Drittanbietern benötigen dieses Attribut normalerweise nicht.

Der Standardwert ist "true". Das bedeutet, dass die Anwendung die Verarbeitung ihrer Daten während einer vollständigen Systemwiederherstellung beendet hat.

android:largeHeap
Ob die Prozesse der Anwendung mit einem großen Dalvik-Heap erstellt werden. Dies gilt für alle Prozesse, die für die Anwendung erstellt werden. 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 nutzen, um unvorhersehbare Ergebnisse zu vermeiden.

Die meisten Anwendungen benötigen dies nicht. Sie konzentrieren sich stattdessen darauf, die Gesamtspeichernutzung zu reduzieren, um die Leistung zu verbessern. Wenn Sie diese Option aktivieren, ist auch keine feste Erhöhung des verfügbaren Arbeitsspeichers garantiert, da einige Geräte durch ihren insgesamt verfügbaren Arbeitsspeicher eingeschränkt sind.

Verwenden Sie die Methoden getMemoryClass() oder getLargeMemoryClass(), um die verfügbare Arbeitsspeichergröße zur Laufzeit abzufragen.

android:label
Ein für den Nutzer lesbares Label für die gesamte Anwendung und ein Standardlabel für jede Komponente der Anwendung. Siehe die einzelnen label-Attribute für die Elemente <activity>, <activity-alias>, <service>, <receiver> und <provider>.

Das Label wird als Verweis auf eine Stringressource festgelegt, sodass es wie andere Strings in der Benutzeroberfläche lokalisiert werden kann. Der Einfachheit halber kann sie beim Entwickeln der Anwendung auch als Rohstring festgelegt werden.

android:logo
Ein Logo für die gesamte Anwendung und ein Standardlogo für Aktivitäten. Dieses Attribut wird als Verweis auf eine Drawable-Ressource festgelegt, die das Bild enthält, z. B. "@drawable/logo". Es gibt kein Standardlogo.
android:manageSpaceActivity
Der voll qualifizierte Name einer abgeleiteten Activity-Klasse, 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 voll qualifizierte Name einer abgeleiteten Application-Klasse, die für die Anwendung implementiert wurde. Beim Start des Anwendungsprozesses wird diese Klasse vor einer der Komponenten der Anwendung instanziiert.

Die Unterklasse ist optional. In den meisten Anwendungen ist diese nicht erforderlich. Wenn keine Unterklasse vorhanden ist, verwendet Android eine Instanz der Application-Basisklasse.

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-Level 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 einfach eine Berechtigung festlegen, die für alle Komponenten der Anwendung gilt. Er wird überschrieben, indem die permission-Attribute einzelner Komponenten festgelegt werden.

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

android:persistent
Gibt an, ob die Anwendung immer ausgeführt wird. Wenn dies der Fall ist, lautet der Wert "true" und andernfalls "false". Der Standardwert ist "false". Dieses Flag wird normalerweise von Anwendungen nicht festgelegt. Der Persistenzmodus ist nur für bestimmte Systemanwendungen vorgesehen.
android:process
Der Name eines Prozesses, bei dem alle Komponenten der Anwendung ausgeführt werden. Jede Komponente kann diese Standardeinstellung ü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. In diesem Prozess werden dann alle Komponenten ausgeführt. Der Name des Standardprozesses entspricht dem Paketnamen, der vom Element <manifest> festgelegt wurde.

Wenn Sie dieses Attribut auf einen Prozessnamen festlegen, der mit einer anderen Anwendung gemeinsam genutzt wird, können Komponenten beider Anwendungen im selben Prozess ausgeführt werden, allerdings nur, wenn beide Anwendungen ebenfalls eine Nutzer-ID teilen und mit demselben Zertifikat signiert sind.

Wenn der diesem Attribut zugewiesene Name mit einem Doppelpunkt (:) beginnt, wird bei Bedarf ein neuer, der Anwendung zugeordneter Prozess erstellt. 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
Zeigt an, dass die App bereit ist, einen gesicherten Datensatz wiederherzustellen, auch wenn die Sicherung von einer neueren Version der App als derzeit auf dem Gerät installiert wurde. Wenn Sie dieses Attribut auf "true" festlegen, versucht der Sicherungsmanager selbst dann, eine Wiederherstellung durchzuführen, wenn ein Versionsunterschied darauf deutet, dass die Daten nicht kompatibel sind. Mit Vorsicht verwenden!

Der Standardwert dieses Attributs ist "false".

android:requestLegacyExternalStorage

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

Hinweis:Abhängig von Änderungen in Bezug auf die Richtlinie oder die App-Kompatibilität wird diese Deaktivierungsanfrage möglicherweise nicht vom System berücksichtigt.

android:requiredAccountType
Gibt den Kontotyp an, der von der Anwendung benötigt wird. 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. Dies bedeutet, dass die Anwendung ohne Konten funktioniert.

Da mit eingeschränkten Profilen keine Konten hinzugefügt werden können, ist Ihre Anwendung bei Angabe dieses Attributs für ein eingeschränktes Profil nicht verfügbar, sofern Sie nicht auch android:restrictedAccountType mit demselben Wert deklarieren.

Achtung:Wenn aus den Kontodaten personenidentifizierbare Informationen offengelegt werden könnten, ist es wichtig, dass Sie dieses Attribut deklarieren und android:restrictedAccountType null lassen, damit über Ihre App bei eingeschränkten Profilen nicht auf personenbezogene Daten des Inhabers zugegriffen werden kann.

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

android:resizeableActivity

Gibt an, ob die App den Mehrfenstermodus unterstützt. Sie können dieses Attribut entweder im <activity>- oder im <application>-Element festlegen.

Wenn dieses Attribut auf "true" gesetzt ist, kann der Nutzer die Aktivität im geteilten Bildschirmmodus und im freien Format starten. Wenn Sie das Attribut auf ”false” setzen, kann die App nicht für eine Mehrfensterumgebung getestet oder optimiert werden. Das System kann die Aktivität trotzdem in den Mehrfenstermodus mit angewendetem Kompatibilitätsmodus versetzen.

Wenn du dieses Attribut auf "true" setzt, bedeutet dies nicht, dass auf dem Bildschirm keine anderen Apps wie Bild im Bild oder auf anderen Displays im Mehrfenstermodus sichtbar sind. Daher bedeutet das Festlegen dieses Flags nicht, dass die Anwendung exklusiven Ressourcenzugriff hat.

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

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

  • Große Bildschirme (ab 600 dp): Alle Apps unterstützen den Mehrfenstermodus. Das Attribut gibt an, ob die Größe einer App angepasst werden kann, nicht, ob die App den Mehrfenstermodus unterstützt. Wenn resizeableActivity="false" ist, wird die App bei Bedarf in den Kompatibilitätsmodus versetzt, um die Anzeigeabmessungen anzupassen.
  • Kleine Bildschirme (sw < 600 dp): Wenn resizeableActivity="true" und die Mindestbreite und Mindesthöhe der Hauptaktivität innerhalb der Anforderungen für den Mehrfenstermodus liegen, unterstützt die App den Mehrfenstermodus. Bei resizeableActivity="false" unterstützt die App den Mehrfenstermodus unabhängig von der Mindestbreite und -höhe der Aktivität nicht.

Hinweis:Gerätehersteller können das Verhalten von API-Level 31 überschreiben.

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

Hinweis: Der Wert der Stammaktivität einer Aufgabe wird auf alle zusätzlichen Aktivitäten angewendet, die in der Aufgabe gestartet werden. Wenn also die Größe der Stammaktivität einer Aufgabe geändert werden kann, behandelt das System alle anderen Aktivitäten in der Aufgabe als veränderbar. Wenn die Größe der Stammaktivität nicht angepasst werden kann, lässt sich die Größe der anderen Aktivitäten in der Aufgabe nicht ändern.

android:restrictedAccountType
Gibt den für diese Anwendung erforderlichen Kontotyp an und gibt an, dass eingeschränkte Profile auf Konten zugreifen können, die dem Inhaber des Inhabers gehören. Wenn für Ihre Anwendung 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 Anwendung verwendeten Kontoauthentifizierungstyp entsprechen, wie durch AuthenticatorDescription definiert, z. B. "com.google".

Der Standardwert ist null. Dies bedeutet, dass die Anwendung ohne Konten funktionieren kann.

Achtung:Wenn Sie dieses Attribut angeben, können eingeschränkte Profile Ihre Anwendung mit Konten verwenden, die dem Inhabernutzer gehören. 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, damit Ihre Anwendung für eingeschränkte Profile nicht verfügbar ist.

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

android:supportsRtl
Gibt an, ob Ihre App von rechts nach links (Rechts nach links) gerichtete RTL-Layouts (Rechts-nach-links) unterstützt.

Wenn dies auf "true" und targetSdkVersion auf 17 oder höher gesetzt ist, werden verschiedene RTL APIs aktiviert und vom System verwendet, damit Ihre App RTL-Layouts anzeigen kann. Wenn dieser Wert auf "false" gesetzt oder targetSdkVersion auf 16 oder niedriger festgelegt ist, werden die RTL APIs ignoriert oder haben keine Auswirkungen und Ihre Anwendung verhält sich unabhängig von der Layoutrichtung, die der Sprachauswahl des Nutzers zugeordnet ist. Das heißt, Ihre Layouts sind immer von links nach rechts.

Der Standardwert dieses Attributs ist "false".

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

android:taskAffinity
Ein Affinitätsname, der für alle Aktivitäten innerhalb der Anwendung gilt, außer für Aktivitäten, die eine andere Affinität mit eigenen taskAffinity-Attributen 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 ist mit dem Paketnamen identisch, der vom Element <manifest> festgelegt wird.

android:testOnly
Gibt an, ob diese Anwendung nur zu Testzwecken dient. Sie können beispielsweise Funktionalität oder Daten für sich selbst offenlegen, die eine Sicherheitslücke verursachen können, aber für Tests nützlich sind. Diese Art von APK kann nur über adb installiert werden. Du kannst 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 Standardthema für alle Aktivitäten in der Anwendung definiert. Einzelne Aktivitäten können die Standardeinstellung überschreiben, indem sie ihre eigenen theme-Attribute festlegen. Weitere Informationen finden Sie unter Stile und Designs.
android:uiOptions
Zusätzliche Optionen für die UI einer Aktivität. Muss einer der folgenden Werte sein:
AntwortBeschreibung
"none"Keine zusätzlichen UI-Optionen. Das ist die Standardeinstellung.
"splitActionBarWhenNarrow"Fügt eine Leiste am unteren Bildschirmrand hinzu, um Aktionselemente in der App-Leiste (auch als Aktionsleiste bezeichnet) anzuzeigen, wenn die Leiste für horizontalen Bereich eingeschränkt ist, z. B. im Hochformat auf einem Mobilgerät. Anstelle einer kleinen Anzahl von Aufgaben in der App-Leiste oben auf dem Bildschirm wird die App-Leiste in den oberen Navigationsbereich und die untere Leiste für Aktionselemente unterteilt. Es steht also ausreichend Platz für die Aktionselemente sowie für die Navigations- und Titelelemente am oberen Rand zur Verfügung. Die Menüpunkte sind 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-Level 14 hinzugefügt.

android:usesCleartextTraffic
Gibt an, ob die App Klartext-Netzwerkverkehr wie Klartext HTTP verwenden möchte. Der Standardwert für Apps, die auf das Ziel-API-Level 27 oder niedriger ausgerichtet sind, ist "true". Anwendungen, die auf API-Level 28 oder höher ausgerichtet sind, verwenden standardmäßig "false".

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

Bibliotheken von Drittanbietern sollten diese Einstellung ebenfalls berücksichtigen. Der Hauptgrund für die Vermeidung von Klartext-Traffic sind mangelnde Vertraulichkeit und Authentizität und mangelnde Schutzmaßnahmen gegen Manipulationen. Ein Netzwerkangreifer kann übertragene Daten abhören und sie unbemerkt verändern.

Dieses Flag wird auf Best-Effort-Basis umgesetzt, da es aufgrund des gewährten Zugriffs nicht möglich ist, den gesamten Klartext-Traffic von Android-Anwendungen zu verhindern. Beispielsweise wird nicht davon ausgegangen, dass die Socket API dieses Flag annimmt, da nicht festgestellt werden kann, ob der Traffic in Klartext ist.

Der meiste Netzwerktraffic von Anwendungen wird jedoch von übergeordneten Netzwerkstacks und -komponenten verarbeitet, die dieses Flag übernehmen können, indem sie es entweder aus ApplicationInfo.flags oder NetworkSecurityPolicy.isCleartextTrafficPermitted() lesen.

Hinweis:Bei WebView wird dieses Attribut für Anwendungen verwendet, die auf API-Level 26 oder höher ausgerichtet sind.

Bei der App-Entwicklung kann mit StrictMode jeder Klartext-Traffic von der App identifiziert werden. 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 Network Security Config vorhanden ist.

android:vmSafeMode
Gibt an, ob die Anwendung die virtuelle Maschine (VM) im abgesicherten Modus ausführen soll. Der Standardwert ist "false".

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

Dieses Attribut wurde in API-Level 22 angepasst, wobei der ART-AOT-Compiler durch den Wert "true" deaktiviert wurde.

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