ExtServices modülü, temel işletim sistemi işlevselliği için çerçeve bileşenlerini günceller. Bildirim sıralaması, otomatik doldurma metin eşleştirme stratejileri, depolama önbelleği, paket gözetimi ve sürekli çalışan diğer hizmetler bu bileşenlere dahildir. Bu modül güncellenebilir. Yani normal Android sürüm döngüsü dışında işlevsellik güncellemeleri alabilir.
Hizmet bileşenleri
ExtServices modülü aşağıdaki hizmetleri içerir.
Android 12'den itibaren
DisplayHashingServiceTextClassifierServiceAndroid 11'den itibarenAndroid 11'den itibaren
InlineSuggestionsRenderServiceAndroid 10'da
AutofillFieldClassificationServiceAndroid 10'da
NotificationAssistantServiceAndroid 10'da
ResolverRankerServiceCacheQuotaServiceAndroid 10'dan itibaren
DisplayHashingService
Android 12'de, belirtilen arabellek için DisplayHash örneği oluşturmak üzere DisplayHashingService kullanılır. Ayrıca, belirli bir görüntü karmasının sistem tarafından oluşturulduğunu doğrulamak için de kullanılır. Arayan, bir görüntü karması oluştururken desteklenen karma oluşturma algoritmalarından hangisini kullanmak istediğini belirtebilir.
TextClassifierService
TextClassifierService
hizmet bileşeni, TextClassifier
API'leri ve Android özelliklerini (ör. bildirimlerde akıllı metin seçimi ve akıllı öneriler) destekler. ExtServices modülü, CTS testi TextClassifierPolicyTest.java ile doğrulanan varsayılan metin sınıflandırıcıyı içerir.
Gerekirse config.xml içinde config_defaultTextClassifierPackage belirterek özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz.
Özel metin sınıflandırıcılar, TextClassifierService.getDefaultTextClassifierImplementation(Context) çağrılarak varsayılan metin sınıflandırıcısına bağlı olabilir.
InlineSuggestionRenderService
InlineSuggestionRenderService hizmet bileşeni, satır içi önerilerin klavyedeki öneri şeridinde gösterilmesini sağlar. Bu hizmet, yeni satır içi otomatik doldurma akışı için Satır İçi Öneri'yi içeren bir View nesnesini oluşturmak üzere çağrılır.
Bu oluşturucu hizmetinin varsayılan uygulaması, öneriyi oluşturmak için androidx.autofill.inline.Renderer'ı çağırır. Bu davranış, /autofillservice/cts/inline/ içindeki CTS testleriyle doğrulanır.
Paket adı
Android 11 çalıştıran cihazlar, config_servicesExtensionPackage (in frameworks/base/core/res/res/values/config.xml) değerini ExtServices paket adı (com.android.ext.services) olarak ayarlamalıdır. Bu yapılandırma değişikliği, CTS testi cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java ile doğrulanır.
Modül sınırı
Android 12'de ExtServices modül kodu frameworks/base/apex/extservices (frameworks/base project'nin alt dizini) ve packages/modules/ExtServices konumundan taşındı.
packages/modules/ExtServices için yeni proje yapısı aşağıdaki gibidir:
apex/(frameworks/base/apex/extservicescihazından alınan dosyalar)java/(packages/modules/ExtServices/res,packages/modules/ExtServices/src,packages/modules/ExtServices/testskaynaklı dosyalar ve yeni özellik dosyaları)jni/(yeni özellik için dosyalar)native/(yeni özellik için dosyalar)
ExtServices modül sınırı packages/modules/ExtServices konumundadır. Android 11 ayrıca çeşitli TextClassifier uygulama sınıflarını frameworks/base/core/ dışına taşır.
Modül biçimi
Android 11'de ExtServices modülü
(com.android.ext.services) APEX
biçimindedir. Android 10'da bu modül APK biçimindedir.
Özelleştirme
Android 11'de, varsayılan metin sınıflandırıcıyı çağıran özel bir metin sınıflandırıcı hizmeti yapılandırabilirsiniz (ancak bu önerilmez). Android 10'da ExtServices modülü özelleştirme seçenekleri sunmaz.
Test
Android Uyumluluk Test Paketi (CTS), her modül sürümünde kapsamlı bir CTS testi grubu çalıştırarak ExtServices modülünün işlevselliğini doğrular. Ayrıca, Mainline Test Paketi (MTS) de çeşitli ExtServices testleri içerir. ExtServices testlerinin tam listesi aşağıdaki gibidir:
Yapılandırma değişiklikleri. CTS testiyle doğrulanmıştır
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java.TextClassifieryapılandırması. CTS testiyle doğrulandıcts/TextClassifierPolicyTest.java.Satır içi otomatik doldurma önerisi.
cts/inline/'daki CTS testleriyle doğrulandı.