Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Menerapkan Konfigurasi yang Ditandatangani

Fitur Signed Config memungkinkan konfigurasi penyematan pembatasan antarmuka non-SDK di APK. Ini memungkinkan penghapusan antarmuka non-SDK tertentu dari daftar hitam, untuk memungkinkan AndroidX menggunakannya dengan aman. Hal ini memungkinkan tim AndroidX menambahkan dukungan untuk fitur baru pada versi Android yang telah dirilis. Ini didukung di Android 10 dan yang lebih baru.

Mendukung Signed Config dengan benar memastikan bahwa library AndroidX akan berfungsi dengan benar pada perangkat di masa mendatang.

Kustomisasi fitur ini tidak dimungkinkan. Ini didukung penuh di AOSP dan tidak memerlukan upaya OEM untuk mendukungnya.

Contoh dan sumber

Pelaksanaan fitur dalam sistem server di frameworks/base/services/core/java/com/android/server/signedconfig . CTS uji CtsSignedConfigHostTestCases termasuk contoh penggunaan, dan contoh konfigurasi di cts/hostsidetests/signedconfig/app/version1_AndroidManifest.xml .

Penerapan

Tidak diperlukan upaya untuk mendukung fitur tersebut, dan tidak ada persyaratan perangkat keras khusus.

Fitur ini menggunakan dua kunci metadata aplikasi untuk menyematkan konfigurasi dan tanda tangan di dalam APK. Orang-orang kunci yang android.settings.global dan android.settings.global.signature . Jika atau ketika pustaka AndroidX memerlukan antarmuka non-SDK untuk dihapus dari daftar hitam di masa mendatang, nilai untuk kunci ini akan dipublikasikan oleh tim Android dan/atau sebagai bagian dari AndroidX.

Kunci APK metadata android.settings.global dan android.settings.global.signature kedua berisi data dasar-64 dikodekan. Nilai untuk kunci android.settings.global adalah JSON-encoded nilai config untuk diterapkan ke pengaturan global dalam SettingsProvider . Nilai untuk android.settings.global.signature adalah tanda tangan ECDSA-p256 dari data JSON. Tanda tangan digunakan untuk memverifikasi asal data konfigurasi.

Fitur ini tidak terlihat oleh pengguna.

Kustomisasi

Fitur ini tidak dimaksudkan untuk penyesuaian. OEM tidak disarankan untuk memodifikasi fitur, termasuk mengganti kunci. Perubahan apa pun kemungkinan akan menyebabkan AndroidX tidak berfungsi dengan baik pada perangkat yang terpengaruh di masa mendatang.

Validasi

CTS tes CtsSignedConfigHostTestCases memverifikasi pelaksanaan fitur.

Anda juga dapat menguji fitur secara manual dengan memasang APK yang sesuai dan memeriksa adb logcat keluaran:

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