A partir del 27 de marzo de 2025, te recomendamos que uses android-latest-release en lugar de aosp-main para compilar y contribuir a AOSP. Para obtener más información, consulta Cambios en AOSP.
Lista de entidades permitidas de UIDs compartidos firmados por la plataforma
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Las apps firmadas en la plataforma son apps que comparten el mismo certificado de firma (o compatible) con el paquete de la plataforma (android). Una app firmada en la plataforma puede ser una app del sistema (ubicada en una partición de imagen del sistema) o una app que no es del sistema. Los UIDs compartidos firmados en la plataforma son UIDs compartidos (android:sharedUserId) que contienen apps firmadas en la plataforma. Las compilaciones depurables son aquellas cuyo android.os.Build.isDebuggable() muestra true, como las compilaciones userdebug o eng.
Históricamente, los fabricantes de dispositivos tenían poco control sobre qué apps no del sistema firmadas por la plataforma podían unirse a un UID compartido firmado por la plataforma. A partir de Android 15, los fabricantes pueden permitir explícitamente que las apps que no son del sistema firmadas por la plataforma se unan a los UIDs compartidos firmados por la plataforma en los archivos XML de configuración del sistema en el directorio /etc/permissions. Si una app no del sistema firmada por la plataforma
no se agrega a la lista de entidades permitidas para un UID compartido firmado por la plataforma y la app
aún intenta unirse al UID compartido firmado por la plataforma (con android:sharedUserId
en su manifiesto), esa app no se puede instalar en compilaciones no depurables.
Cómo encontrar la lista de entidades permitidas faltante
Para encontrar una entrada de lista de entidades permitidas que falta, intenta instalar tu app no del sistema firmada por la plataforma en una compilación no depurable y comprueba si aún se puede instalar. De lo contrario, puedes
inspeccionar los registros del dispositivo en busca del siguiente formato de mensajes de advertencia:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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}"]]