Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Lampiran C, versi minimum yang kompatibel untuk API Plugin UI Mobil
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
OEM diharapkan beralih ke car-ui-lib-plugin-apis
versi terbaru
(1.2.0 atau yang lebih baru) sesegera mungkin. Idealnya, OEM tidak boleh mengirimkan plugin
yang menggunakan versi lama.
Mengapa pembaruan ini?
API Java 8+
didukung untuk Android versi sebelumnya melalui dukungan desugaring
API Java 8+.
Implementasi API yang tidak ada dikompilasi ke dalam aplikasi dan kode byte APK
ditulis ulang untuk mereferensikan implementasi, bukan library di
platform.
Memuat implementasi OEM komponen UI dari plugin Library UI Mobil
memerlukan referensi metode yang ditentukan oleh antarmuka
car-ui-lib-plugin-apis
. Referensi metode ini dibuat dari aplikasi ke plugin Library UI Mobil
saat runtime dengan harapan bahwa tanda tangan metode identik dalam implementasi aplikasi dan
plugin.
Beberapa sistem build mengaktifkan desugaring API setiap saat karena persyaratan
level SDK minimum tertentu. Tanda tangan metode yang di-desugar untuk
antarmuka car-ui-lib-plugin-apis
mungkin tidak cocok dengan tanda tangan metode dalam
implementasi plugin OEM yang belum di-desugar, sehingga plugin gagal
dimuat.
Akibatnya, beberapa aplikasi GAS yang dikompilasi dengan sistem build Google internal
tidak kompatibel dengan plugin Library UI Mobil. Oleh karena itu, kami telah menghapus semua
dependensi pada API Java 8 (dan yang lebih tinggi) yang memerlukan desugaring. Perubahan ini
memerlukan update pada API antarmuka yang ditentukan oleh
car-ui-lib-plugin-apis
.
Langkah-langkah yang diperlukan untuk plugin OEM
Ikuti langkah-langkah berikut untuk mengupdate API Anda:
Update implementasi plugin untuk menggunakan versi terbaru
car-ui-lib-plugin-apis
. Untuk mendapatkan versi terbaru (1.2.0 atau yang lebih tinggi),
lihat Repositori Maven
Google.
Perbarui implementasi plugin untuk mengimplementasikan antarmuka
PluginFactoryOEMV4
. Perubahan ini memerlukan langkah-langkah berikut saat komponen
diterapkan oleh plugin OEM. Perbarui penerapan OEM dari:
Toolbar, untuk menerapkan ToolbarControllerOEMV2
.
Item daftar konten, untuk memperluas ContentListItemOEMV2
.
Penanganan hasil penelusuran IME, untuk memperluas ImeSearchInterfaceOEMV2
.
Update aplikasi untuk menggunakan Library UI Mobil versi terbaru.
Apa yang terjadi jika update ini tidak diterapkan?
Jika langkah-langkah yang diberikan di halaman ini tidak diselesaikan untuk plugin OEM, aplikasi
yang di-desugar, seperti Layanan Otomotif Google (GAS), gagal memuat implementasi
plugin Library UI Mobil dan tidak ada penyesuaian OEM yang diterapkan melalui
mekanisme plugin.
Penyesuaian RRO yang ada untuk Library UI Mobil tidak terpengaruh oleh masalah
ini dan terus berperforma seperti biasa.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-06-12 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-06-12 UTC."],[],[],null,["# Appendix C, minimum compatible version for Car UI Plugin API\n\nOEMs are expected to switch to the newest version of `car-ui-lib-plugin-apis`\n(1.2.0 or higher) as soon as possible. Ideally, OEMs shouldn't ship any plugin\nthat uses an older version.\n\nWhy this update?\n----------------\n\n[Java 8+](https://developer.android.com/studio/write/java8-support-table) APIs\nare supported for previous versions of Android through [Java 8+ API desugaring\nsupport](https://developer.android.com/studio/write/java8-support#library-desugaring).\nImplementations of missing APIs are compiled into apps and the byte code of APKs\nare rewritten to reference the implementations instead of the libraries on the\nplatform.\n\nLoading OEM implementations of UI components from a Car UI Library plugin\nrequires the referencing of methods defined by `car-ui-lib-plugin-apis`\ninterfaces. These method references are made from apps to Car UI Library plugins\nat runtime with the expectation that method signatures are identical in app and\nplugin implementations.\n\nSome build systems enable API desugaring at all times due to requirements of a\nspecific minimum SDK level. Desugared method signatures for\n`car-ui-lib-plugin-apis` interfaces may not match those in an OEM plugin\nimplementation that has not been desugared, which results in plugins failing to\nload.\n\nAs a result, some GAS apps compiled with the internal Google build system are\nincompatible with the Car UI Library plugin. Therefore, we've removed all\ndependencies on Java 8 (and higher) APIs that require desugaring. This change\nrequires updates to the API of the interfaces defined by\n`car-ui-lib-plugin-apis`.\n\nRequired steps for OEM plugins\n------------------------------\n\nFollow these steps to update your API:\n\n1. Update the plugin implementation to use the latest version of\n `car-ui-lib-plugin-apis`. To get the latest version of (1.2.0 or higher),\n see [Google's Maven\n Repository](https://maven.google.com/web/index.html#com.android.car.ui:car-ui-lib-plugin-apis).\n\n2. Update the plugin implementation to implement the `PluginFactoryOEMV4`\n interface. This change requires the following steps when a component is\n implemented by the OEM plugin. Update the OEM implementation of:\n\n 1. Toolbar, to implement `ToolbarControllerOEMV2`.\n\n 2. Content list items, to extend `ContentListItemOEMV2`.\n\n 3. IME search results handing, to extend `ImeSearchInterfaceOEMV2`.\n\n3. Update the app to use the latest version of the Car UI Library.\n\nWhat happens if this update is not applied?\n-------------------------------------------\n\nIf the steps provided on this page aren't completed for an OEM plugin, desugared\napps, such as the Google Automotive Services (GAS), fail to load implementations\nof the Car UI Library plugin and no OEM customizations are applied through the\nplugin mechanism.\n\nExisting RRO customizations for the Car UI Library are not affected by this\nissue and continue to perform as usual."]]