Lampiran C, versi minimum yang kompatibel untuk Car UI Plugin API

OEM diharapkan untuk beralih ke versi terbaru car-ui-lib-plugin-apis (1.2.0 atau lebih tinggi) sesegera mungkin. Idealnya, OEM tidak boleh mengirimkan plugin apa pun yang menggunakan versi lama.

Mengapa pembaruan ini?

Java 8+ API didukung untuk versi Android sebelumnya melalui dukungan desugaring Java 8+ API . Implementasi API yang hilang dikompilasi ke dalam aplikasi dan kode byte APK ditulis ulang untuk merujuk pada implementasi, bukan pustaka di platform.

Memuat implementasi OEM komponen UI dari plugin Car UI Library memerlukan referensi metode yang ditentukan oleh antarmuka car-ui-lib-plugin-apis . Referensi metode ini dibuat dari aplikasi ke plugin Car UI Library saat runtime dengan harapan bahwa tanda tangan metode identik dalam implementasi aplikasi dan plugin.

Beberapa sistem build mengaktifkan desugaring API setiap saat karena persyaratan tingkat SDK minimum tertentu. Tanda tangan metode yang didesuga untuk antarmuka car-ui-lib-plugin-apis mungkin tidak cocok dengan yang ada dalam implementasi plugin OEM yang belum desugar, sehingga mengakibatkan plugin gagal dimuat.

Akibatnya, beberapa aplikasi GAS yang dikompilasi dengan sistem build internal Google tidak kompatibel dengan plugin Car UI Library. Oleh karena itu, kami telah menghapus semua dependensi pada API Java 8 (dan lebih tinggi) yang memerlukan desugaring. Perubahan ini memerlukan pembaruan pada API antarmuka yang ditentukan oleh car-ui-lib-plugin-apis .

Langkah-langkah yang diperlukan untuk plugin OEM

Ikuti langkah-langkah berikut untuk memperbarui API Anda:

  1. Perbarui implementasi plugin untuk menggunakan versi terbaru car-ui-lib-plugin-apis . Untuk mendapatkan versi terbaru (1.2.0 atau lebih tinggi), lihat Repositori Maven Google .

  2. Perbarui implementasi plugin untuk mengimplementasikan antarmuka PluginFactoryOEMV4 . Perubahan ini memerlukan langkah-langkah berikut ketika komponen diimplementasikan oleh plugin OEM. Perbarui implementasi OEM dari:

    1. Toolbar, untuk mengimplementasikan ToolbarControllerOEMV2 .

    2. Item daftar konten, untuk diperluas ContentListItemOEMV2 .

    3. Penyerahan hasil pencarian IME, untuk memperluas ImeSearchInterfaceOEMV2 .

  3. Perbarui aplikasi untuk menggunakan Perpustakaan UI Mobil versi terbaru.

Apa yang terjadi jika pembaruan ini tidak diterapkan?

Jika langkah-langkah yang disediakan di halaman ini tidak diselesaikan untuk plugin OEM, aplikasi yang tidak mengandung gula, seperti Google Automotive Services (GAS), gagal memuat implementasi plugin Car UI Library dan tidak ada penyesuaian OEM yang diterapkan melalui mekanisme plugin.

Penyesuaian RRO yang ada untuk Perpustakaan UI Mobil tidak terpengaruh oleh masalah ini dan terus berjalan seperti biasa.