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