Ab dem 27. März 2025 empfehlen wir, android-latest-release anstelle von aosp-main zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Plattformsignierte Zulassungsliste für freigegebene UIDs
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Plattformsignierte Apps sind Apps, die dasselbe (oder ein kompatibles) Signaturzertifikat wie das Plattformpaket (android) verwenden. Eine plattformsignierte App kann eine System-App (auf einer Systemimage-Partition) oder eine Nicht-System-App sein. Plattformsignierte freigegebene UIDs sind freigegebene UIDs (android:sharedUserId), die plattformsignierte Apps enthalten. Debugfähige Builds sind Builds, deren android.os.Build.isDebuggable()true zurückgibt, z. B. userdebug- oder eng-Builds.
Bisher hatten Gerätehersteller wenig Kontrolle darüber, welche plattformsignierten Nicht-System-Apps einer plattformsignierten gemeinsamen UID beitreten konnten. Ab Android 15 können Hersteller plattformsignierten Nicht-System-Apps explizit erlauben, plattformsignierten freigegebenen UIDs in den XML-Dateien der Systemkonfiguration im Verzeichnis /etc/sysconfig beizutreten. Wenn eine plattformsignierte Nicht-System-App nicht zur Zulassungsliste für eine plattformsignierte gemeinsame UID hinzugefügt wird und die App weiterhin versucht, der plattformsignierten gemeinsamen UID beizutreten (mit android:sharedUserId im Manifest), kann diese App nicht auf nicht debugfähigen Builds installiert werden.
Wenn Sie einen fehlenden Eintrag auf der Zulassungsliste finden möchten, versuchen Sie, Ihre plattformsignierte Nicht-System-App auf einem nicht debugfähigen Build zu installieren, und prüfen Sie, ob sie weiterhin installiert werden kann. Andernfalls können Sie die Geräteprotokolle auf Warnmeldungen im folgenden Format prüfen:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
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-09-04 (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-09-04 (UTC)."],[],[],null,["Platform-signed apps are apps sharing the same (or compatible) signing\ncertificate with the platform package (`android`). A platform-signed app can be\na system app (located on a system image partition), or a nonsystem app.\nPlatform-signed shared UIDs are shared UIDs (`android:sharedUserId`) that\ncontain platform-signed apps. Debuggable builds are builds whose\n`android.os.Build.isDebuggable()` return `true`, such as `userdebug` or `eng`\nbuilds.\n\nHistorically, device manufacturers had little control over which platform-signed\nnonsystem apps could join a platform-signed shared UID. Starting in Android\n15, manufacturers can explicitly allow platform-signed\nnonsystem apps to join platform-signed shared UIDs in the system configuration\nXML files in the `/etc/sysconfig` directory. If a platform-signed nonsystem app\nisn't added to the allowlist for a platform-signed shared UID, and the app still\ntries to join the platform-signed shared UID (with `android:sharedUserId` in its\nmanifest), that app can't be installed on nondebuggable builds.\n| **Note:** The allowlist isn't enforced on debuggable builds to facilitate easier testing.\n| **Note:** Platform-signed system apps aren't affected by this change.\n\nAdd an allowlist\n\nYou can list allowlists for apps in a single XML file or in multiple XML files,\nsimilar to\n[`frameworks/base/data/etc/package-shareduid-allowlist.xml`](https://cs.android.com/android/platform/superproject/+/android-latest-release:frameworks/base/data/etc/package-shareduid-allowlist.xml): \n\n \u003c!--\n This XML defines an allowlist for packages that want to join a particular shared-uid.\n If a non-system package that is signed with platform signature, is trying to join a particular\n shared-uid, and not in this list, the installation will fail.\n\n - The \"package\" XML attribute refers to the app's package name.\n - The \"shareduid\" XML attribute refers to the shared uid name.\n --\u003e\n\n \u003cconfig\u003e\n \u003callow-package-shareduid package=\"android.test.settings\" shareduid=\"android.uid.system\" /\u003e\n \u003c/config\u003e\n\nFind missing allowlist\n\nTo find a missing allowlist entry, try to install your platform-signed nonsystem\napp on a nondebuggable build and check if it can still be installed. If not, you\ncan inspect device logs for the following format of warning messages: \n\n Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}"]]