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ý sẽ đả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 triển khai tính năng nằm trong máy chủ hệ thống tại frameworks/base/services/core/java/com/android/server/signedconfig . Bài kiểm tra CTS CtsSignedConfigHostTestCases bao gồm cách sử dụng mẫu và cấu hình mẫu 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à một chữ ký bên trong các APK. Các khóa đó là 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ả hai khóa siêu dữ liệu APK android.settings.globalandroid.settings.global.signature đều chứa dữ liệu được mã hóa base-64. Giá trị cho khóa android.settings.global là các giá trị cấu hình được mã hóa JSON sẽ được áp dụng cho cài đặt chung trong SettingsProvider . Giá trị cho android.settings.global.signature là 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 việc tùy chỉnh. OEM không được 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

Bài kiểm tra CTS CtsSignedConfigHostTestCases xác minh việc triển khai tính năng.

Bạn cũng có thể kiểm tra tính năng theo cách thủ công bằng cách cài đặt một APK thích hợp và kiểm tra đầu ra adb logcat :

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