A partir de 27 de março de 2025, recomendamos usar android-latest-release em vez de aosp-main para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Lista de permissões de UID compartilhados assinados pela plataforma
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Apps assinados pela plataforma são apps que compartilham o mesmo certificado de assinatura (ou compatível) com o pacote da plataforma (android). Um app assinado pela plataforma pode ser
um app do sistema (localizado em uma partição de imagem do sistema) ou um app não do sistema.
Os UIDs compartilhados assinados pela plataforma são UIDs compartilhados (android:sharedUserId) que
contêm apps assinados pela plataforma. Builds depuráveis são builds em que
android.os.Build.isDebuggable() retorna true, como builds userdebug ou
eng.
Historicamente, os fabricantes de dispositivos tinham pouco controle sobre quais apps não do sistema assinados
pela plataforma podiam participar de um UID compartilhado assinado pela plataforma. A partir do Android
15, os fabricantes podem permitir explicitamente que apps não do sistema
assinados pela plataforma se conectem a UIDs compartilhados assinados pela plataforma nos arquivos XML de configuração
do sistema no diretório /etc/permissions. Se um app não do sistema
assinado pela plataforma não for adicionado à lista de permissões para um UID compartilhado assinado pela plataforma e o app
ainda tentar entrar no UID compartilhado assinado pela plataforma (com android:sharedUserId
no manifesto), ele não poderá ser instalado em builds não depuráveis.
Para encontrar uma entrada de lista de permissões ausente, tente instalar o app não do sistema
assinado pela plataforma em um build não depurável e verifique se ele ainda pode ser instalado. Caso contrário, é possível inspecionar os registros do dispositivo para o seguinte formato de mensagens de aviso:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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}"]]