OEM tasarım jetonları

OEM tasarım belirteçleri, Materyal Tasarımı sisteminin bir Android Otomotiv İşletim Sistemi (AAOS) uygulamasıdır. Mobil cihazlarda token değerleri için algoritmik veya kullanıcı seçimi yaklaşımından farklı olarak OEM'ler tasarım token değerlerini belirler. Tasarım belirteçleri, bir tasarım sisteminin görsel stilini oluşturan ve statik değerleri kendi kendini açıklayan adlarla değiştiren küçük, tekrarlanan tasarım kararlarını temsil eder. Belirteçler, Materyal Tasarımı sistemi tarafından tanımlananlara benzer.

OEM belirteç kitaplığı

OEM tasarım belirteçlerine, Şekil 1'de gösterilen üç bileşenden oluşan OEM belirteç kitaplığı aracılığıyla başvurulur.

Şekil 1. OEM belirteç kitaplığı bileşenleri.

Statik kütüphane

OEM token kütüphanesinin statik kütüphane bileşeni, token değerlerine erişimi aşağıdaki gibi kolaylaştırır.

  • Belirteçlere yönelik OEM değerlerine erişmek için API'ler sağlar.
  • Temadaki belirteç referanslarının OEM değerleriyle geçersiz kılınmasını etkinleştirir.

Paylaşılan kitaplık

Paylaşılan kitaplık bileşeni aşağıdakilerin tanımlanmasından sorumludur:

  • Kütüphane adı.
  • OEM belirteci değerlerini etkinleştirmek için Boolean katılımı.
  • OEM belirteç değerleri sağlayan stil.

OEM'ler, OEM tanımlı paket adı da dahil olmak üzere bu paylaşılan kitaplık bileşeninin OEM sahipliğini sağlamak için paylaşılan kitaplık uygulamasının geçersiz kılınmasını oluşturabilir.

Şekil 2. Paylaşılan bir kitaplık uygulamasını geçersiz kılın.

OEM paylaşılan kitaplığı

Paylaşılan kitaplık bileşeninin OEM geçersiz kılmaları, kitaplığın OEM sahipliğine izin verirken, OEM'ler tarafından ayarlanacak paket adı ve imza için bir araç sağlayarak OEM belirteç kitaplığındaki diğer bileşenlerle uyumluluğu korurken, paylaşılan kitaplığın uygulamasını başka şekilde değiştirilmeden bırakır.

Paylaşılan bir kitaplık için geçersiz kılmalar aşağıda gösterildiği gibi tanımlanabilir:

override_android_app {
    name: "[OEM]-token-shared-lib",
    base: "token-shared-lib",
    package_name: "com.[OEM].sharedlib",
    rename_resources_package: false,
    certificate: …
}

Belirteç değerlerini ayarlamak için bkz . OEM belirteç değerlerini belirtme .

OEM paylaşılan kitaplık özelleştirmeleri

Belirteç değerlerine yönelik çeşitli şemaları desteklemek için (örneğin, model veya sürücü modu farklılaşması), OEM'ler, OEM paylaşılan kitaplığını Çalışma Zamanı Kaynak Kaplamaları (RRO'lar) ile hedefleyerek belirteçler için dinamik değerler sağlayabilir. Daha fazla bilgi edinmek için bkz. Çalışma zamanında bir uygulamanın kaynaklarının değerini değiştirme .

Belirteç değerlerini ayarlamak için bkz . OEM belirteç değerlerini belirtme .

OEM belirteci değerlerini belirtin

Belirteç değerlerini belirtmek için OemStyle stilindeki karşılık gelen özniteliği gerekli değere ayarlayın.

<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>

OEM değerlerini etkinleştirin

Uygulamaların OEM tarafından sağlanan belirteç değerlerine erişebilmesi için, OEM'lerin öncelikle, enable_oem_tokens boolean değerini true olacak şekilde yapılandırarak varsayılan belirteç değerlerini geçersiz kılmayı seçmesi gerekir.

RRO belirteci değerleri

OemStyle belirteç değerlerinin nasıl ayarlandığına benzer şekilde, alternatif belirteç değerleri sağlamak üzere stili değiştirmek için RRO'lar kullanılabilir.

<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'lar, paylaşılan kitaplık adını belirterek stildeki paylaşılan kitaplık niteliklerini ayarlamalıdır.

En son yüklemeyi yapılandır

Belirteç paylaşımlı kitaplığın OEM uygulamasını içeren sistemler, uygulama sınıflarından sonra paylaşılan kitaplığı yükleyecek şekilde sistemi yapılandırmalıdır. Bunu yapmak için kitaplık adını ( com.android.oem.tokens ) sistemdeki config_sharedLibrariesLoadedAfterApp yapılandırmasına ekleyin. Google Otomotiv Hizmetlerine (GAS) erişiminiz varsa bu bir zorunluluk olarak uygulanır.

<!-- 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>

En iyi uygulamalar

OEM belirteç kitaplığı için en iyi uygulamalar aşağıda açıklanmıştır.

Esnek bir güncelleme stratejisini etkinleştirin

Güncellemeler konusunda esneklik kazanmanızı sağlamak için aşağıdaki stratejilere bakın.

OEM paylaşılan kitaplığı

Sistem tarafından paylaşılan kitaplıkların sistem görüntülerine önceden yüklenmesi gerektiğinden, cihazların ya kitaplıkla birlikte gönderilmesi ya da kitaplığın Havadan (OTA) güncellemesinin bir parçası olarak eklenmesi gerekir (daha fazla bilgi edinmek için OTA Güncellemeleri'ne bakın). Bununla birlikte, bir sistem görüntüsündeki OEM belirteci paylaşılan kitaplığının OEM geçersiz kılmasının saplama uygulamasının dahil edilmesi, tam çalışan bir uygulamaya yönelik bir güncellemenin daha sonraki bir tarihte OTA gerektirmeden cihazlara gönderilmesine olanak tanır.

Paylaşılan kitaplık RRO'ları

RRO'ların sistem uygulaması olarak yüklenmesine gerek olmamasına rağmen, bunu yapmak istenebilecek bazı güncelleme davranışlarını sağlar.

  • Kullanıcılar oturum açmadığında uygulamaların otomatik olarak güncellenmesi.
  • Kullanıcı tarafından kaldırılamaz (kullanıcılar yalnızca güncellemeleri kaldırabilir ).