- syntax:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="string" android:sharedUserId="string" android:sharedUserLabel="string resource" android:sharedUserMaxSdkVersion="integer" android:versionCode="integer" android:versionName="string" android:installLocation=["auto" | "internalOnly" | "preferExternal"] > ... </manifest>
- enthalten in:
- –
- muss Folgendes enthalten:
<application>
- kann Folgendes enthalten:
<attribution>
<compatible-screens>
<instrumentation>
<permission>
<permission-group>
<permission-tree>
<queries>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-permission>
<uses-permission-sdk-23>
<uses-sdk>
- description:
- Das Stammelement der
AndroidManifest.xml
-Datei. Es muss ein<application>
-Element enthalten und die Attributexmlns:android
undpackage
angeben. - Attribute:
-
xmlns:android
- Definiert den Android-Namespace. Dieses Attribut ist immer auf
"http://schemas.android.com/apk/res/android"
festgelegt. package
- Der Wert des Attributs
package
in der Manifestdatei des APK entspricht der eindeutigen Anwendungs-ID Ihrer App. Er ist als vollständiger Paketname im Java-Format für die Android-App formatiert. Der Name kann Groß- und Kleinbuchstaben, Ziffern und Unterstriche („_“) enthalten. Einzelne Teile des Paketnamens dürfen jedoch nur mit Buchstaben beginnen.Ändern Sie den Wert für
package
nicht, da dadurch im Grunde eine neue App erstellt wird. Nutzer der vorherigen Version Ihrer App erhalten kein Update und können ihre Daten nicht zwischen der alten und der neuen Version übertragen.Im Gradle-basierten Build-System darf der Wert
package
ab AGP 7.3 nicht direkt in der Quellmanifestdatei festgelegt werden. Weitere Informationen finden Sie unter Anwendungs-ID festlegen. android:sharedUserId
-
Diese Konstante wird ab API-Level 29 nicht mehr unterstützt.
Gemeinsam genutzte Nutzer-IDs führen zu nicht deterministischem Verhalten im Paketmanager. Daher wird ihre Verwendung dringend abgeraten und sie werden möglicherweise in einer zukünftigen Android-Version entfernt. Verwenden Sie stattdessen geeignete Kommunikationsmechanismen wie Dienste und Inhaltsanbieter, um die Interoperabilität zwischen freigegebenen Komponenten zu erleichtern. Bei vorhandenen Apps kann dieser Wert nicht entfernt werden, da die Migration von einer freigegebenen Nutzer-ID nicht unterstützt wird. Fügen Sie in diesen Appsandroid:sharedUserMaxSdkVersion="32"
hinzu, um zu vermeiden, dass die geteilte Nutzer-ID bei Installationen neuer Nutzer verwendet wird.Der Name einer Linux-Nutzer-ID, die für andere Apps freigegeben wird. Standardmäßig weist Android jeder App eine eindeutige Nutzer-ID zu. Wenn dieses Attribut jedoch für zwei oder mehr Apps auf denselben Wert festgelegt ist, haben sie dieselbe ID, sofern ihre Zertifikatssätze identisch sind. Apps mit derselben Nutzer-ID können auf die Daten der jeweils anderen zugreifen und bei Bedarf im selben Prozess ausgeführt werden.
android:targetSandboxVersion
-
Die Ziel-Sandbox für diese App. Je höher die Versionsnummer der Sandbox, desto höher ist das Sicherheitsniveau.
Der Standardwert ist
1
. Sie können ihn auch auf2
festlegen. Wenn Sie dieses Attribut auf2
festlegen, wird die App in eine andere SELinux-Sandbox umgeschaltet.Für eine Sandbox der Stufe 2 gelten die folgenden Einschränkungen:
- Der Standardwert von
usesCleartextTraffic
in der Netzwerksicherheitskonfiguration ist „false“. - Die Freigabe von Uids ist nicht zulässig.
Bei Android Instant Apps, die auf Android 8.0 (API-Level 26) oder höher ausgerichtet sind, ist dieses Attribut auf
2
festgelegt. Sie können die Sandbox-Ebene in der installierten Version Ihrer App auf die weniger restriktive Ebene1
festlegen. Wenn Sie dies tun, werden die App-Daten jedoch nicht von der Instant-App in der installierten Version Ihrer App gespeichert. Sie müssen den Sandbox-Wert der installierten App auf2
festlegen, damit die Daten von der Instant-App in der installierten Version gespeichert werden.Nachdem eine App installiert wurde, können Sie den Wert der Ziel-Sandbox nur auf einen höheren Wert aktualisieren. Wenn Sie den Wert der Ziel-Sandbox herabstufen möchten, deinstallieren Sie die App und ersetzen Sie sie durch eine Version, deren Manifest einen niedrigeren Wert für dieses Attribut enthält.
- Der Standardwert von
android:sharedUserLabel
-
Diese Konstante wird ab API-Level 29 nicht mehr unterstützt.
Gemeinsam genutzte Nutzer-IDs führen zu nicht deterministischem Verhalten im Paketmanager. Daher wird ihre Verwendung dringend abgeraten und sie werden in einer zukünftigen Version von Android möglicherweise entfernt. Verwenden Sie stattdessen geeignete Kommunikationsmechanismen wie Dienste und Inhaltsanbieter, um die Interoperabilität zwischen freigegebenen Komponenten zu erleichtern. Bei vorhandenen Apps kann dieser Wert nicht entfernt werden, da die Migration von einer freigegebenen Nutzer-ID nicht unterstützt wird.Ein für Nutzer lesbares Label für die freigegebene Nutzer-ID. Das Label wird als Verweis auf eine Stringressource festgelegt. Es darf kein Rohstring sein.
Dieses Attribut wurde in API-Ebene 3 eingeführt. Es ist nur sinnvoll, wenn auch das Attribut
sharedUserId
festgelegt ist. android:sharedUserMaxSdkVersion
-
Freigegebene Nutzer-IDs führen zu nicht deterministischem Verhalten im Paketmanager. Daher wird ihre Verwendung dringend abgeraten und sie werden möglicherweise in einer zukünftigen Android-Version entfernt. Verwenden Sie stattdessen geeignete Kommunikationsmechanismen wie Dienste und Inhaltsanbieter, um die Interoperabilität zwischen freigegebenen Komponenten zu erleichtern.
Die höchste SDK-Version, bei der das System noch
android:sharedUserId
verwendet. Wenn Ihre App auf einem Gerät neu installiert wird, auf dem eine SDK-Version verwendet wird, die höher als der angegebene Wert ist, verhält sich Ihre App so, als hätten Sieandroid:sharedUserId
nie definiert.Dieses Attribut wurde mit API-Level 33 eingeführt. Es ist nur sinnvoll, wenn auch das Attribut
sharedUserId
festgelegt ist. android:versionCode
- Eine interne Versionsnummer. Diese Nummer wird nur verwendet, um zu bestimmen, ob eine Version neuer ist als eine andere. Höhere Zahlen geben dabei an, dass die Version neuer ist. Dies ist nicht die Versionsnummer, die Nutzern angezeigt wird. Sie wird durch das Attribut
versionName
festgelegt.Der Wert wird als positive Ganzzahl größer als 0 festgelegt. Sie können sie beliebig definieren, solange jede nachfolgende Version eine höhere Nummer hat. Das kann beispielsweise eine Build-Nummer sein. Sie können auch eine Versionsnummer im Format „x.y“ in eine Ganzzahl umwandeln, indem Sie „x“ und „y“ separat in die unteren und oberen 16 Bit codieren. Sie können die Nummer auch jedes Mal um eins erhöhen, wenn eine neue Version veröffentlicht wird.
android:versionName
- Die Versionsnummer, die Nutzern angezeigt wird. Dieses Attribut wird als Rohstring oder als Verweis auf eine Stringressource festgelegt. Der String dient nur dazu, Nutzern angezeigt zu werden. Das
versionCode
-Attribut enthält die intern verwendete signifikante Versionsnummer. android:installLocation
- Der Standardinstallationsort der App. Folgende Keyword-Strings sind zulässig:
Wert Beschreibung "internalOnly"
Die App wird nur auf dem internen Gerätespeicher installiert. Wenn diese Option aktiviert ist, wird die App nie auf einem externen Speicher wie einer SD-Karte installiert. Wenn der interne Speicher voll ist, installiert das System die App nicht. Das ist das Standardverhalten, wenn Sie android:installLocation
nicht definieren."auto"
Die App kann auf dem externen Speicher installiert werden, das System installiert sie jedoch standardmäßig im internen Speicher. Wenn der interne Speicher voll ist, installiert das System es auf dem externen Speicher. Nach der Installation kann der Nutzer die App über die Systemeinstellungen entweder in den internen oder externen Speicher verschieben. "preferExternal"
Die App sollte vorzugsweise auf dem externen Speicher installiert werden. Es gibt keine Garantie dafür, dass das System dieser Anfrage nachkommt. Die App wird möglicherweise auf dem internen Speicher installiert, wenn die externen Medien nicht verfügbar oder voll sind. Nach der Installation kann der Nutzer die App über die Systemeinstellungen entweder in den internen oder externen Speicher verschieben. Hinweis:Standardmäßig wird Ihre App im internen Speicher installiert und kann nicht im externen Speicher installiert werden, es sei denn, Sie legen dieses Attribut auf
"auto"
oder"preferExternal"
fest.Wenn eine App auf dem externen Speicher installiert wird:
- Die APK-Datei wird im externen Speicher gespeichert, aber alle App-Daten wie Datenbanken werden weiterhin im internen Gerätespeicher gespeichert.
- Der Container, in dem die APK-Datei gespeichert ist, wird mit einem Schlüssel verschlüsselt, der die Ausführung der App nur auf dem Gerät zulässt, auf dem sie installiert wurde. Der Nutzer kann die SD-Karte nicht auf ein anderes Gerät übertragen und die darauf installierten Apps nicht verwenden. Sie können mehrere SD-Karten mit demselben Gerät verwenden.
- Auf Wunsch des Nutzers kann die App in den internen Speicher verschoben werden.
Der Nutzer kann auch beantragen, eine App vom internen Speicher in den externen Speicher zu verschieben. Das System lässt den Nutzer jedoch nicht zu, die App in den externen Speicher zu verschieben, wenn dieses Attribut auf
"internalOnly"
festgelegt ist, was der Standardwert ist.Weitere Informationen zur Verwendung dieses Attributs, einschließlich der Aufrechterhaltung der Abwärtskompatibilität, finden Sie unter Speicherort der App-Installation.
Einführung: API-Level 8.
- eingeführt in:
- API-Level 1 für alle Attribute, sofern in der Attributbeschreibung nicht anders angegeben.
- Weitere Informationen:
-
<application>
<manifest>
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-05-12 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-05-12 (UTC)."],[],[]]