Token desain OEM adalah implementasi Android Automotive OS (AAOS) dari sistem Desain Material . Berbeda dengan pendekatan algoritmik atau pemilihan pengguna untuk nilai token di perangkat seluler, OEM menetapkan nilai token desain. Token desain mewakili keputusan desain kecil dan berulang yang membentuk gaya visual sistem desain dan menggantikan nilai statis dengan nama yang cukup jelas. Token serupa dengan yang ditentukan oleh sistem Desain Material.
Perpustakaan token OEM
Token desain OEM direferensikan melalui pustaka token OEM, yang terdiri dari tiga komponen yang diilustrasikan pada Gambar 1.
Gambar 1. Komponen perpustakaan token OEM.
Perpustakaan statis
Komponen perpustakaan statis dari perpustakaan token OEM memfasilitasi akses ke nilai token sebagai berikut.
- Menyediakan API untuk mengakses nilai OEM untuk token.
- Mengaktifkan penggantian keikutsertaan referensi token dalam tema dengan nilai OEM.
Perpustakaan bersama
Komponen perpustakaan bersama bertanggung jawab untuk mendefinisikan hal berikut:
- Nama perpustakaan.
- Keikutsertaan Boolean untuk mengaktifkan nilai token OEM.
- Gaya yang memberikan nilai token OEM.
Untuk mengakomodasi kepemilikan OEM atas komponen perpustakaan bersama ini, termasuk nama paket yang ditentukan OEM, OEM dapat membuat penggantian implementasi perpustakaan bersama.
Gambar 2. Mengganti implementasi perpustakaan bersama.
Perpustakaan bersama OEM
Penggantian OEM pada komponen pustaka bersama memungkinkan kepemilikan OEM atas pustaka sambil menjaga kompatibilitas dengan komponen lain di pustaka token OEM dengan menyediakan sarana agar nama paket dan tanda tangan ditetapkan oleh OEM sambil membiarkan penerapan pustaka bersama tidak diubah.
Penggantian untuk perpustakaan bersama dapat ditentukan seperti yang ditunjukkan di bawah ini:
override_android_app { name: "[OEM]-token-shared-lib", base: "token-shared-lib", package_name: "com.[OEM].sharedlib", rename_resources_package: false, certificate: … }
Untuk menetapkan nilai token, lihat Menentukan nilai token OEM .
Kustomisasi perpustakaan bersama OEM
Untuk mendukung beragam skema nilai token (misalnya, diferensiasi model atau mode drive), OEM dapat memberikan nilai dinamis untuk token dengan menargetkan pustaka bersama OEM dengan Runtime Resource Overlay (RRO). Untuk mempelajari lebih lanjut, lihat Mengubah nilai sumber daya aplikasi saat runtime .
Untuk menetapkan nilai token, lihat Menentukan nilai token OEM .
Tentukan nilai token OEM
Untuk menentukan nilai token, atur atribut terkait dalam gaya OemStyle
ke nilai yang diperlukan.
<resources> <style name="OemStyle"> <item name="colorPrimary">#B0C5FF</item> <item name="colorOnPrimary">#002B76</item> <item name="colorPrimaryContainer">#003FA4</item> <item name="colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
Ikut serta dalam nilai-nilai OEM
Agar aplikasi dapat mengakses nilai token yang disediakan OEM, OEM harus terlebih dahulu memilih untuk mengganti nilai token default dengan mengonfigurasi boolean enable_oem_tokens
menjadi true
.
Nilai token RRO
Mirip dengan cara nilai token diatur di OemStyle
, RRO dapat digunakan untuk mengubah gaya guna memberikan nilai token alternatif.
<resources> <style name="OemStyle"> <item name="com.android.oem.tokens:colorPrimary">#B0C5FF</item> <item name="com.android.oem.tokens:colorOnPrimary">#002B76</item> <item name="com.android.oem.tokens:colorPrimaryContainer">#003FA4</item> <item name="com.android.oem.tokens:colorOnPrimaryContainer">#D9E2FF</item> … </style> </resources>
RRO harus menyetel atribut perpustakaan bersama pada gaya dengan menentukan nama perpustakaan bersama.
Konfigurasikan pemuatan terakhir
Sistem yang menyertakan implementasi OEM dari pustaka bersama token harus mengonfigurasi sistem untuk memuat pustaka bersama setelah kelas aplikasi. Untuk melakukannya, sertakan nama perpustakaan ( com.android.oem.tokens
) dalam konfigurasi config_sharedLibrariesLoadedAfterApp
pada sistem. Jika Anda memiliki akses ke Layanan Otomotif Google (GAS), hal ini diberlakukan sebagai persyaratan.
<!-- The OEM token shared library will be loaded after app classes --> <string-array name="config_sharedLibrariesLoadedAfterApp" translatable="false"> <item>com.android.oem.tokens</item> </string-array>
Praktik terbaik
Praktik terbaik untuk pustaka token OEM dijelaskan di bawah.
Aktifkan strategi pembaruan yang fleksibel
Lihat strategi di bawah ini untuk memastikan Anda membangun fleksibilitas sehubungan dengan pembaruan.
Perpustakaan bersama OEM
Karena pustaka bersama sistem harus diinstal sebelumnya pada citra sistem, perangkat harus dikirimkan bersama pustaka atau pustaka harus ditambahkan sebagai bagian dari pembaruan Over-the-Air (OTA) (untuk mempelajari lebih lanjut, lihat Pembaruan OTA ). Namun, menyertakan implementasi stub dari penggantian OEM pada pustaka bersama token OEM pada citra sistem memungkinkan pembaruan ke implementasi yang berfungsi penuh untuk diterapkan ke perangkat di kemudian hari tanpa memerlukan OTA.
RRO perpustakaan bersama
Meskipun tidak ada persyaratan untuk menginstal RRO sebagai aplikasi sistem, hal itu memberikan beberapa perilaku pembaruan yang mungkin diinginkan.
- Pembaruan otomatis aplikasi saat pengguna tidak masuk.
- Tidak dapat di-uninstall oleh pengguna (pengguna hanya dapat meng-uninstall update ).