<manifest>

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:
keine

muss Folgendes enthalten:
<application>
kann Folgendes enthalten:
<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 Datei AndroidManifest.xml. Er muss ein <application>-Element enthalten und geben Sie die Attribute xmlns:android und package an.
Attribute:
xmlns:android
Definiert den Android-Namespace. Dieses Attribut ist immer festgelegt an "http://schemas.android.com/apk/res/android".
package
Der Wert des Attributs package in der Manifestdatei des APK stellt Ihre Die universell eindeutige Anwendungs-ID der App. Sie ist als vollständiger Java-Sprachstil formatiert. Paketname für die Android-App. Der Name kann Groß- und Kleinbuchstaben, Ziffern, und Unterstriche ('_') verwendet werden. Einzelne Bestandteile eines Paketnamens dürfen jedoch nur mit Buchstaben.

Ändern Sie den Wert package nicht, da dies im Wesentlichen eine neue App erstellt. Nutzer der vorherigen Version deiner App erhalten kein Update und können Daten zwischen der alten und der neuen Version übertragen.

Legen Sie im Gradle-basierten Build-System ab AGP 7.3 den Wert package direkt in der Quellmanifestdatei. Weitere Informationen finden Sie unter Legen Sie die Anwendungs-ID fest.

android:sharedUserId

Diese Konstante wird ab API-Level 29 nicht mehr unterstützt.
Freigegebene Nutzer-IDs verursachen ein nicht deterministisches Verhalten im Paketmanager. Daher ist ihre Verwendung wird dringend davon abgeraten und wird möglicherweise in einer zukünftigen Android-Version entfernt. Verwenden Sie stattdessen Kommunikationsmechanismen wie Dienste und Contentanbieter nutzen, und Interoperabilität zwischen gemeinsam genutzten Komponenten. Vorhandene Apps können diesen Wert nicht entfernen. Die Migration einer freigegebenen Nutzer-ID wird nicht unterstützt. Füge in diesen Apps android:sharedUserMaxSdkVersion="32", um die Freigabe von Inhalten zu vermeiden User-ID bei Installationen durch neue Nutzer.

Der Name einer Linux-Nutzer-ID, die mit anderen Apps geteilt wird. Android weist jeder App standardmäßig eine eigene eindeutige Nutzer-ID zu. Ist dieses Attribut jedoch für zwei oder mehr Apps verwenden, haben sie alle dieselbe ID, sofern ihre Zertifikatsätze sind identisch. Apps mit derselben Nutzer-ID haben Zugriff und bei Bedarf im selben Prozess ausgeführt.

android:targetSandboxVersion
Die Ziel-Sandbox, die diese App verwenden soll. Je höher die Sandbox-Versionsnummer ist, desto höher ist das Sicherheitsniveau. Der Standardwert ist 1. können Sie es auch auf 2 setzen. Wenn Sie dieses Attribut auf 2 setzen, wird die in einer anderen SELinux-Sandbox.

Für eine Sandbox der Ebene 2 gelten die folgenden Einschränkungen:

  • Der Standardwert von <ph type="x-smartling-placeholder"></ph> usesCleartextTraffic. in der Konfiguration der Netzwerksicherheit auf „false“ gesetzt ist.
  • Die UID-Freigabe ist nicht zulässig.

Für Android Instant Apps, die auf Android 8.0 (API-Level 26) oder höher ausgerichtet sind, Dieses Attribut ist auf 2 festgelegt. Du kannst das Sandbox-Level in der installierten Version deiner App festlegen zu den weniger restriktiven Level 1. In diesem Fall speichert Ihre App jedoch keine App-Daten von der Instant-App an den die installierte Version deiner App. Du musst den Sandbox-Wert der installierten App auf 2 setzen damit die Daten von der Instant-App bis zur installierten Version erhalten bleiben.

Nach der Installation einer App können Sie nur den Ziel-Sandbox-Wert in einen höheren Wert ändern. Wenn Sie den Sandbox-Zielwert herabstufen möchten, müssen Sie die App deinstallieren und ersetzen Sie ihn durch eine Version, deren Manifest einen niedrigeren Wert für dieses Attribut enthält.

android:sharedUserLabel

Diese Konstante wird ab API-Level 29 nicht mehr unterstützt.
Freigegebene Nutzer-IDs verursachen ein nicht deterministisches Verhalten im Paketmanager. Daher ist ihre Verwendung wird dringend davon abgeraten und wird möglicherweise in einer zukünftigen Android-Version entfernt. Verwenden Sie stattdessen Kommunikationsmechanismen wie Dienste und Contentanbieter nutzen, und Interoperabilität zwischen gemeinsam genutzten Komponenten. Vorhandene Apps können diesen Wert nicht entfernen. Die Migration einer freigegebenen Nutzer-ID wird nicht unterstützt.

Ein für Nutzer lesbares Label für die freigegebene Nutzer-ID. Das Label ist festgelegt als einen Verweis auf eine String-Ressource. Es darf sich nicht um einen Rohstring handeln.

Dieses Attribut wurde in API-Level 3 eingeführt. Es ist nur sinnvoll, wenn das Das Attribut sharedUserId ist ebenfalls festgelegt.

android:sharedUserMaxSdkVersion

Freigegebene Nutzer-IDs verursachen ein nicht deterministisches Verhalten im Paketmanager. Daher ist ihre Verwendung wird dringend davon abgeraten und wird möglicherweise in einer zukünftigen Android-Version entfernt. Verwenden Sie stattdessen Kommunikationsmechanismen wie Dienste und Contentanbieter nutzen, und Interoperabilität zwischen gemeinsam genutzten Komponenten.

Die maximale SDK-Version, in der das System noch android:sharedUserId verwendet. Wenn Ihr auf einem Gerät mit einer SDK-Version neu installiert wurde, die höher als der angegebene Wert ist, verhält sich so, als hätten Sie android:sharedUserId nie definiert.

Dieses Attribut wurde in API-Level 33 eingeführt. Es ist nur sinnvoll, wenn das Das Attribut sharedUserId ist ebenfalls festgelegt.

android:versionCode
Eine interne Versionsnummer. Diese Zahl wird nur verwendet, um zu bestimmen, eine Version aktueller ist als eine andere, wobei höhere Zahlen bedeuten, aktuelle Versionen. Dies ist nicht die Versionsnummer, die Nutzern angezeigt wird. wird durch das Attribut versionName festgelegt.

Der Wert wird als positive Ganzzahl größer als 0 festgelegt. Sie können sie definieren, solange jede nachfolgende Version eine höhere Zahl hat. Es kann sich z. B. um eine Build-Nummer handeln oder Sie können eine Version Zahl in „x.y“ in eine Ganzzahl umwandeln, indem Sie „x“ codieren und „y“ separat in den unteren und oberen 16 Bit. Oder Sie erhöhen die Zahl um eins neu veröffentlicht.

android:versionName
Die Versionsnummer, die Nutzern angezeigt wird. Dieses Attribut ist als Rohattribut festgelegt String oder als Verweis auf eine String-Ressource. Der String hat keinen anderen Zweck als den Nutzenden anzuzeigen. Das Attribut versionCode Die intern verwendete signifikante Versionsnummer.
android:installLocation
Der standardmäßige Installationspfad für die App. Die folgenden Keyword-Strings werden akzeptiert:

Wert Beschreibung
"internalOnly" Die App wird nur im internen Gerätespeicher installiert. Ist sie festgelegt, Die App wird nie auf einem externen Speicher wie einer SD-Karte installiert. Wenn die internen Wenn der Speicher voll ist, wird die App nicht vom System installiert. Dies ist die Standardeinstellung wenn Sie android:installLocation nicht definieren.
"auto" Die App kann auf einem externen Speicher installiert werden, aber das System installiert die im internen Speicher. Wenn der interne Speicher voll ist, auf dem externen Speicher. Nach der Installation können Nutzer die App verschieben. in den internen oder externen Speicher.
"preferExternal" Die App sollte auf einem externen Speicher installiert werden. Es gibt keine dass das System diese Anfrage berücksichtigt. Die App wird möglicherweise auf internen wenn das externe Medium nicht verfügbar oder voll ist. Nach der Installation können Nutzer die App entweder internen oder externen Speicher.

Hinweis:Standardmäßig wird Ihre App auf internen Speicher. Die Installation auf dem externen Speicher ist nur möglich, wenn Sie dieses Attribut definieren. entweder "auto" oder "preferExternal".

Wenn eine App im externen Speicher installiert wird:

  • Die APK-Datei wurde gespeichert. in den externen Speicher. App-Daten wie Datenbanken des internen Gerätespeichers.
  • Der Container, in dem die APK-Datei gespeichert ist, ist mit einem Schlüssel verschlüsselt, Die App funktioniert nur auf dem Gerät, auf dem sie installiert ist. Der Nutzer kann SD-Karte auf ein anderes Gerät übertragen und auf der Karte installierte Apps nutzen Auf demselben Gerät können mehrere SD-Karten verwendet werden.
  • Auf Anfrage des Nutzers kann die App in den internen Speicher verschoben werden.

Der Nutzer kann auch anfordern, dass eine App vom internen in einen externen Speicher verschoben wird. Speicherplatz. Das System lässt die App aber nicht in einen externen Speicher zu, wenn Dieses Attribut ist auf die Standardeinstellung "internalOnly" festgelegt.

Für Weitere Informationen zur Verwendung dieses Attributs, einschließlich Informationen zur Aufrechterhaltung der Abwärtskompatibilität, Siehe Installationspfad der App.

Vorgestellt in: API-Level 8.

eingeführt in:
API-Level 1 für alle Attribute, sofern in der Attributbeschreibung nicht anders angegeben.

Siehe auch:
<application>