קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
אפליקציות בחתימה של פלטפורמה הן אפליקציות שחולקות את אותו אישור חתימה (או אישור תואם) עם חבילת הפלטפורמה (android). אפליקציה בחתימה של פלטפורמה יכולה להיות אפליקציית מערכת (שנמצאת במחיצה של קובץ האימג' של המערכת) או אפליקציה שאינה אפליקציית מערכת. מזהי UID משותפים בחתימה של פלטפורמה הם מזהי UID משותפים (android:sharedUserId) שמכילים אפליקציות בחתימה של פלטפורמה. גרסאות build שניתן לנפות באגים הן גרסאות build שהערך המוחזר של android.os.Build.isDebuggable() הוא true, כמו גרסאות build מסוג userdebug או eng.
בעבר, ליצרני המכשירים הייתה שליטה מועטה על האפליקציות הלא מערכתיות בחתימה של הפלטפורמה שיכולות להצטרף ל-UID משותף בחתימה של הפלטפורמה. החל מגרסה Android 15, יצרנים יכולים לאפשר באופן מפורש לאפליקציות לא מערכתיות בחתימה של פלטפורמה להצטרף למזהי UID משותפים בחתימה של פלטפורמה בקובצי ה-XML של הגדרות המערכת בספרייה /etc/permissions. אם אפליקציה לא מערכתית בחתימה של הפלטפורמה לא נוספה לרשימת ההיתרים של UID משותף בחתימה של הפלטפורמה, והאפליקציה עדיין מנסה להצטרף ל-UID המשותף בחתימה של הפלטפורמה (עם android:sharedUserId במניפסט שלה), לא ניתן להתקין את האפליקציה בגרסאות build שלא ניתן לנפות בהן באגים.
כדי למצוא רשומה חסרה ברשימת ההיתרים, נסו להתקין את האפליקציה שאינה מערכת שנחתמה על ידי הפלטפורמה בגרסה build שלא ניתן לנפות בה באגים, ולבדוק אם עדיין ניתן להתקין אותה. אם לא, תוכלו לבדוק את יומני המכשיר כדי לאתר את הפורמט הבא של הודעות האזהרה:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון 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-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}"]]