Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.

Triển khai cấu hình đã ký

Tính năng Cấu hình đã ký cho phép nhúng cấu hình của các hạn chế giao diện không phải SDK trong APK. Điều này cho phép xóa các giao diện không phải SDK cụ thể khỏi danh sách đen, để cho phép AndroidX sử dụng chúng một cách an toàn. Điều này cho phép nhóm AndroidX thêm hỗ trợ cho các tính năng mới trên các phiên bản Android đã được phát hành. Nó được hỗ trợ trong Android 10 trở lên.

Hỗ trợ đúng cấu hình đã ký đảm bảo rằng các thư viện AndroidX sẽ hoạt động chính xác trên các thiết bị trong tương lai.

Không thể tùy chỉnh tính năng này. Nó được hỗ trợ đầy đủ trong AOSP và không cần nỗ lực của OEM để hỗ trợ nó.

Ví dụ và nguồn

Việc thực hiện chức năng là trong hệ thống máy chủ tại frameworks/base/services/core/java/com/android/server/signedconfig . Các CTS kiểm tra CtsSignedConfigHostTestCases bao gồm việc sử dụng ví dụ, và một ví dụ cấu hình trong cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml .

Thực hiện

Không cần nỗ lực để hỗ trợ tính năng và không có yêu cầu phần cứng cụ thể.

Tính năng này sử dụng hai khóa siêu dữ liệu của ứng dụng để nhúng cấu hình và chữ ký bên trong các APK. Những phím android.settings.globalandroid.settings.global.signature . Nếu hoặc khi các thư viện AndroidX yêu cầu xóa các giao diện không phải SDK khỏi danh sách đen trong tương lai, các giá trị cho các khóa này sẽ được xuất bản bởi nhóm Android và / hoặc như một phần của AndroidX.

Các phím apk metadata android.settings.globalandroid.settings.global.signature cả chứa dữ liệu cơ sở-64 được mã hóa. Giá trị cho khóa android.settings.global là giá trị cấu hình JSON-mã hóa để được áp dụng cho các thiết lập toàn cầu trong SettingsProvider . Giá trị cho android.settings.global.signature là một chữ ký ECDSA-p256 của dữ liệu JSON. Chữ ký được sử dụng để xác minh nguồn gốc của dữ liệu cấu hình.

Tính năng này không được người dùng nhìn thấy.

Tùy biến

Tính năng này không dành cho tùy chỉnh. OEM không khuyến khích sửa đổi tính năng, bao gồm cả việc thay thế các phím. Bất kỳ thay đổi nào đối với nó đều có thể khiến AndroidX không hoạt động bình thường trên các thiết bị bị ảnh hưởng trong tương lai.

Thẩm định

Các thử nghiệm CTS CtsSignedConfigHostTestCases xác minh việc thực hiện tính năng.

Bạn cũng có thể kiểm tra các tính năng bằng tay bằng cách cài đặt một gói ứng dụng thích hợp và kiểm tra việc adb logcat đầu ra:

$ adb install CtsSignedConfigTestAppV1.apk
...
$ adb logcat
...
I SignedConfig: Verified config using production key
...