À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release au lieu de aosp-main pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Liste d'autorisation d'UID partagés signés par la plate-forme
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Les applications signées par la plate-forme sont des applications qui partagent le même certificat de signature (ou compatible) avec le package de plate-forme (android). Une application signée par la plate-forme peut être une application système (située sur une partition d'image système) ou une application non système. Les UID partagés signés par la plate-forme sont des UID partagés (android:sharedUserId) qui contiennent des applications signées par la plate-forme. Les builds débogables sont des builds dont android.os.Build.isDebuggable() renvoie true, comme les builds userdebug ou eng.
Historiquement, les fabricants d'appareils avaient peu de contrôle sur les applications non système signées par la plate-forme pouvant rejoindre un UID partagé signé par la plate-forme. À partir d'Android 15, les fabricants peuvent autoriser explicitement les applications non système signées par la plate-forme à rejoindre les UID partagés signés par la plate-forme dans les fichiers XML de configuration système du répertoire /etc/permissions. Si une application non système signée par la plate-forme n'est pas ajoutée à la liste d'autorisation d'un UID partagé signé par la plate-forme et que l'application tente toujours de rejoindre l'UID partagé signé par la plate-forme (avec android:sharedUserId dans son fichier manifeste), cette application ne peut pas être installée sur des builds non débogables.
Pour trouver une entrée de liste d'autorisation manquante, essayez d'installer votre application non système signée par la plate-forme sur un build non débogable et vérifiez si elle peut toujours être installée. Si ce n'est pas le cas, vous pouvez inspecter les journaux de l'appareil pour rechercher le format de message d'avertissement suivant:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Platform-signed shared UID allowlist\n\nPlatform-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/permissions` directory. If a platform-signed nonsystem\napp isn't added to the allowlist for a platform-signed shared UID, and the app\nstill tries to join the platform-signed shared UID (with `android:sharedUserId`\nin its manifest), 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----------------\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----------------------\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}"]]