27 Mart 2025'ten itibaren AOSP'yi derlemek ve AOSP'ye katkıda bulunmak için aosp-main
yerine android-latest-release
kullanmanızı öneririz. Daha fazla bilgi için AOSP'de yapılan değişiklikler başlıklı makaleyi inceleyin.
Ek C, Araba Kullanıcı Arayüzü Eklentisi API'si için minimum uyumlu sürüm
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
OEM'lerin en kısa sürede car-ui-lib-plugin-apis
'ın en yeni sürümüne (1.2.0 veya sonraki sürümler) geçmesi beklenmektedir. OEM'ler ideal olarak eski bir sürüm kullanan eklentiler göndermemelidir.
Bu güncellemeyi neden yapıyoruz?
Java 8 ve sonraki sürümlerin API'leri, Java 8 ve sonraki sürümlerin API'lerini şekerleme çıkarma desteği aracılığıyla Android'in önceki sürümlerinde desteklenir.
Eksik API'lerin uygulamaları derlenir ve APK'ların bayt kodu, platformdaki kitaplıklar yerine uygulamalara referans verecek şekilde yeniden yazılır.
Araba kullanıcı arayüzü kitaplığı eklentisinden kullanıcı arayüzü bileşenlerinin OEM uygulamalarını yüklemek için car-ui-lib-plugin-apis
arayüzleri tarafından tanımlanan yöntemlere referans verilmelidir. Bu yöntem referansları, uygulama ve eklenti uygulamalarında yöntem imzalarının aynı olması beklentisiyle çalışma zamanında uygulamalardan Car UI Library eklentilerine yapılır.
Bazı derleme sistemleri, belirli bir minimum SDK düzeyinin koşulları nedeniyle API'nin şeker içermemesini her zaman etkinleştirir. car-ui-lib-plugin-apis
arayüzlerinin şeker içermeyen yöntem imzaları, şeker içermeyen bir OEM eklenti uygulamasındakilerle eşleşmeyebilir. Bu durum, eklentilerin yüklenememesi sorununa yol açar.
Bu nedenle, dahili Google derleme sistemiyle derlenen bazı GAS uygulamaları, Araba kullanıcı arayüzü kitaplığı eklentisiyle uyumlu değildir. Bu nedenle, Java 8 (ve sonraki sürümler) API'lerine olan ve şeker çıkarma işlemi gerektiren tüm bağımlılıkları kaldırdık. Bu değişiklik için car-ui-lib-plugin-apis
tarafından tanımlanan arayüzlerin API'sinde güncelleme yapılması gerekir.
OEM eklentileri için gerekli adımlar
API'nizi güncellemek için aşağıdaki adımları uygulayın:
Eklenti uygulamasını car-ui-lib-plugin-apis
'ün en son sürümünü kullanacak şekilde güncelleyin. En son sürümü (1.2.0 veya daha yeni) almak için Google'ın Maven Deposu'na bakın.
Eklenti uygulamasını, PluginFactoryOEMV4
arayüzünü uygulamak için güncelleyin. Bu değişiklik, bir bileşen OEM eklentisi tarafından uygulanırken aşağıdaki adımları gerektirir. Aşağıdakilerin OEM uygulamasını güncelleyin:
ToolbarControllerOEMV2
'ü uygulamak için araç çubuğu.
ContentListItemOEMV2
öğesini genişletmek için içerik listesi öğeleri.
ImeSearchInterfaceOEMV2
'ü genişletmek için IME arama sonuçlarını işleme.
Uygulamayı, Araba Kullanıcı Arayüzü Kitaplığı'nın en son sürümünü kullanacak şekilde güncelleyin.
Bu güncelleme uygulanmazsa ne olur?
Bu sayfada verilen adımlar bir OEM eklentisi için tamamlanmazsa Google Automotive Services (GAS) gibi şeker içermeyen uygulamalar, Car UI Library eklentisinin uygulamalarını yükleyemez ve eklenti mekanizması aracılığıyla OEM özelleştirmeleri uygulanmaz.
Araba kullanıcı arayüzü kitaplığı için mevcut RRO özelleştirmeleri bu sorundan etkilenmez ve her zamanki gibi çalışmaya devam eder.
Bu sayfadaki içerik ve kod örnekleri, İçerik Lisansı sayfasında açıklanan lisanslara tabidir. Java ve OpenJDK, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-06-12 UTC.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 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."]]