Od 27 marca 2025 r. zalecamy używanie android-latest-release zamiast aosp-main do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Podpisana przez platformę lista dozwolonych identyfikatorów UID
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Aplikacje podpisane przez platformę to aplikacje, które mają ten sam (lub zgodny) certyfikat podpisu co pakiet platformy (android). Aplikacja podpisana przez platformę może być aplikacją systemową (znajdującą się na partycji obrazu systemu) lub aplikacją niesystemową. Współdzielone identyfikatory UID podpisane przez platformę to współdzielone identyfikatory UID (android:sharedUserId), które zawierają aplikacje podpisane przez platformę. Wersje z możliwością debugowania to wersje, których funkcja android.os.Build.isDebuggable() zwraca wartość true, np. wersje userdebug lub eng.
W przeszłości producenci urządzeń mieli niewielką kontrolę nad tym, które aplikacje niesystemowe podpisane przez platformę mogły dołączyć do podpisanego przez platformę wspólnego identyfikatora UID. Od Androida 15 producenci mogą wyraźnie zezwalać aplikacjom niesystemowym podpisanym przez platformę na dołączanie do wspólnych identyfikatorów UID podpisanych przez platformę w plikach XML konfiguracji systemu w katalogu /etc/sysconfig. Jeśli aplikacja niesystemowa podpisana przez platformę nie zostanie dodana do listy dozwolonych dla współdzielonego identyfikatora UID podpisanego przez platformę, a mimo to spróbuje dołączyć do tego identyfikatora (z android:sharedUserId w manifeście), nie będzie można jej zainstalować w wersjach, których nie można debugować.
Aby znaleźć brakujący wpis na liście dozwolonych, spróbuj zainstalować podpisaną przez platformę aplikację niesystemową na kompilacji, której nie można debugować, i sprawdź, czy nadal można ją zainstalować. Jeśli nie, możesz sprawdzić dzienniki urządzenia pod kątem ostrzeżeń w tym formacie:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-09-04 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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}"]]