Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release thay vì aosp-main để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Ứng dụng được ký trên nền tảng là các ứng dụng dùng chung cùng một chứng chỉ ký (hoặc tương thích) với gói nền tảng (android). Ứng dụng được ký trên nền tảng có thể là ứng dụng hệ thống (nằm trên phân vùng hình ảnh hệ thống) hoặc ứng dụng không phải hệ thống. UID dùng chung được ký trên nền tảng là UID dùng chung (android:sharedUserId) chứa các ứng dụng được ký trên nền tảng. Bản dựng có thể gỡ lỗi là những bản dựng có android.os.Build.isDebuggable() trả về true, chẳng hạn như bản dựng userdebug hoặc eng.
Trước đây, nhà sản xuất thiết bị có ít quyền kiểm soát đối với việc ứng dụng không phải hệ thống được ký bằng nền tảng nào có thể tham gia UID dùng chung được ký bằng nền tảng. Kể từ Android 15, nhà sản xuất có thể cho phép rõ ràng các ứng dụng không phải hệ thống được ký bằng nền tảng tham gia UID dùng chung được ký bằng nền tảng trong các tệp XML cấu hình hệ thống trong thư mục /etc/permissions. Nếu một ứng dụng không phải hệ thống được ký bằng nền tảng không được thêm vào danh sách cho phép cho UID dùng chung được ký bằng nền tảng và ứng dụng đó vẫn cố gắng tham gia UID dùng chung được ký bằng nền tảng (có android:sharedUserId trong tệp kê khai), thì bạn không thể cài đặt ứng dụng đó trên các bản dựng không gỡ lỗi.
Để tìm mục nhập danh sách cho phép bị thiếu, hãy thử cài đặt ứng dụng không phải hệ thống được ký bằng nền tảng trên một bản dựng không gỡ lỗi và kiểm tra xem ứng dụng đó có thể cài đặt được hay không. Nếu không, bạn có thể kiểm tra nhật ký thiết bị để biết định dạng thông báo cảnh báo sau:
Non-preload app {PACKAGE_NAME} signed with platform signature and joining shared uid: {SHARED_UID_NAME}
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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}"]]