Pembaruan paket layanan

Paket layanan dapat diupdate sebagai paket APEX, secara terpisah dari update sistem lengkap. Di SDV, proses update ini dikelola oleh pengelola update SDV. Agar update diterapkan, Anda harus memulai ulang perangkat.

Dua jenis APEX didukung untuk update paket layanan:

  • APEX yang sudah diinstal sebelumnya: Paket APEX versi sebelumnya sudah ada di salah satu partisi hanya baca (/system, /system_ext, /product, /vendor, dan /odm).

  • APEX Baru: Tidak ada paket APEX dengan nama yang sama (seperti yang dideklarasikan di apex_manifest.json) di partisi hanya baca.

APEX bawaan

Ini adalah metode yang paling umum dan direkomendasikan untuk memperbarui paket layanan. Agar update ini valid, paket APEX baru harus memenuhi persyaratan berikut:

  • Memiliki nama paket yang sama di apex_manifest.json dengan APEX yang sudah diinstal sebelumnya.

  • Deklarasikan kode versi yang lebih tinggi di apex_manifest.json daripada APEX yang telah diinstal sebelumnya.

  • Tandatangani APEX dengan pasangan kunci yang sama seperti APEX pra-instal.

APEX baru

Meskipun menggunakan APEX yang sudah diinstal adalah praktik terbaik keamanan, APEX baru didukung. Saat menggunakan pendekatan ini, partner bertanggung jawab untuk mempertahankan protokol keamanan yang komprehensif. Tanggung jawab ini meliputi:

  • Mengelola kunci penandatanganan yang digunakan untuk APEX ini secara aman.

  • Menetapkan proses yang andal untuk mengidentifikasi dan memblokir paket berbahaya.

  • Mengonversi APEX baru menjadi APEX bawaan di update sistem berikutnya jika memungkinkan.

Untuk menginstal atau mengupdate APEX baru, konfigurasi berikut diperlukan.

Menginstal kunci publik tepercaya sebelumnya

Untuk menginstal APEX baru, kunci penandatanganan publiknya harus diinstal sebelumnya di partisi target. Tempatkan kunci publik di /partition/etc/brand_new_apex/, dengan /partition/ merepresentasikan partisi tempat APEX dikaitkan dengan berdasarkan aturan Treble. Misalnya, jika tanda tangan APEX diverifikasi terhadap kunci publik di /vendor/etc/brand_new_apex/, APEX akan berperilaku sebagai APEX vendor. Sistem akan menolak APEX baru yang tidak ditandatangani oleh kunci yang sesuai dengan kunci publik yang telah diinstal sebelumnya.

Memblokir APEX baru yang berbahaya

Jika APEX baru diidentifikasi sebagai berbahaya setelah penginstalan, APEX tersebut harus diblokir menggunakan update sistem. Untuk melakukannya, tambahkan nama paket APEX ke file daftar blokir di /partition/etc/brand_new_apex/blocklist.json. Daftar blokir ini harus ditempatkan di partisi target APEX (partisi yang sama tempat kunci publiknya telah diinstal sebelumnya). Setiap partisi memiliki file daftar blokir khusus.