플랫폼 서명 앱은 플랫폼 패키지 (android)와 동일한 (또는 호환되는) 서명 인증서를 공유하는 앱입니다. 플랫폼 서명 앱은 시스템 앱 (시스템 이미지 파티션에 있음) 또는 비시스템 앱일 수 있습니다. 플랫폼 서명 공유 UID는 플랫폼 서명 앱을 포함하는 공유 UID (android:sharedUserId)입니다. 디버깅 가능한 빌드는 android.os.Build.isDebuggable()가 true를 반환하는 빌드입니다(예: userdebug 또는 eng 빌드).
지금까지 기기 제조업체에는 어떤 플랫폼 서명 비시스템 앱이 플랫폼 서명 공유 UID에 참여할 수 있는지에 대한 제어 권한이 부족했습니다. Android 15부터 제조업체는 /etc/sysconfig 디렉터리의 시스템 구성 XML 파일에서 플랫폼 서명 비시스템 앱이 플랫폼 서명 공유 UID에 참여하도록 명시적으로 허용할 수 있습니다. 플랫폼 서명 비시스템 앱이 플랫폼 서명 공유 UID의 허용 목록에 추가되지 않고 앱이 여전히 플랫폼 서명 공유 UID에 참여하려고 하면 (매니페스트에 android:sharedUserId 사용) 해당 앱은 디버깅 불가능 빌드에 설치할 수 없습니다.
누락된 허용 목록 항목을 찾으려면 디버깅할 수 없는 빌드에 플랫폼 서명 비시스템 앱을 설치하고 여전히 설치할 수 있는지 확인하세요. 그렇지 않은 경우 기기 로그에서 다음 형식의 경고 메시지를 검사할 수 있습니다.
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-09-04(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-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}"]]