Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release вместо aosp-main для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Подписанные платформой приложения — это приложения, которые совместно используют тот же (или совместимый) сертификат подписи с пакетом платформы ( android ). Подписанное платформой приложение может быть системным приложением (расположенным в разделе образа системы) или несистемным приложением. Подписанные платформой общие UID — это общие UID ( android:sharedUserId ), которые содержат подписанные платформой приложения. Отлаживаемые сборки — это сборки, у которых android.os.Build.isDebuggable() возвращает true , например, сборки userdebug или eng .
Исторически производители устройств имели небольшой контроль над тем, какие несистемные приложения с подписью платформы могут присоединяться к общему UID с подписью платформы. Начиная с Android 15, производители могут явно разрешить несистемным приложениям с подписью платформы присоединяться к общим UID с подписью платформы в XML-файлах конфигурации системы в каталоге /etc/permissions . Если несистемное приложение с подписью платформы не добавлено в список разрешенных для общего UID с подписью платформы, и приложение все еще пытается присоединиться к общему UID с подписью платформы (с android:sharedUserId в его манифесте), это приложение не может быть установлено в неотлаживаемых сборках.
Чтобы найти отсутствующую запись в списке разрешений, попробуйте установить подписанное платформой несистемное приложение на неотлаживаемой сборке и проверьте, можно ли его установить. Если нет, вы можете проверить журналы устройств на наличие следующего формата предупреждающих сообщений:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 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}"]]