ExtServices モジュールにより、通知のランキング、自動入力のためのテキスト マッチング戦略、ストレージ キャッシュ、パッケージ ウォッチドッグ、継続的に実行されるその他のサービスなど、コア OS 機能に関するフレームワーク コンポーネントが更新されます。このモジュールは更新可能です。つまり、通常の Android リリース サイクル外の機能に対するアップデートを受信できます。
サービス コンポーネント
Android 10 では、ExtServices モジュールに次のサービスが含まれています。
Android 11 では、ExtServices モジュールにより TextClassifierService
と InlineSuggestionsRenderService
の 2 つのサービス コンポーネントが導入されています。
TextClassifierService
TextClassifierService
サービス コンポーネントは、TextClassifier
API とスマート テキスト選択や通知に関するスマート候補などの Android の機能をサポートします。ExtServices モジュールには、CTS テスト TextClassifierPolicyTest.java
で検証されるデフォルトのテキスト分類が含まれています。
必要に応じて、config.xml
で config_defaultTextClassifierPackage
を指定して、カスタム テキスト分類サービスを構成できます。カスタムのテキスト分類は、TextClassifierService.getDefaultTextClassifierImplementation(Context)
を呼び出すことでデフォルトのテキスト分類に依存し、そのインスタンスを取得できます。
InlineSuggestionRenderService
InlineSuggestionRenderService
サービス コンポーネントにより、キーボードの候補領域にインライン候補を表示できます。このサービスは、新しいインライン自動入力フローのインライン候補を保持する View
オブジェクトをレンダリングするために呼び出されます。このレンダラ サービスのデフォルトの実装は、候補をレンダリングする androidx.autofill.inline.Renderer
を呼び出します。この動作は、/autofillservice/cts/inline/
の CTS テストで検証されています。
パッケージ名
Android 11 を搭載しているデバイスでは、config_servicesExtensionPackage
(frameworks/base/core/res/res/values/config.xml
内)を ExtServices パッケージ名(com.android.ext.services
)に設定する必要があります。この構成変更は、CTS テスト cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
で検証されています。
モジュールの境界
ExtServices モジュールの境界は packages/modules/ExtServices
にあります。Android 11 では、いくつかの TextClassifier
実装クラスを frameworks/base/core/
から移動しています。
モジュールの形式
Android 11 では、ExtServices モジュール(com.android.ext.services
)は APEX 形式です。Android 10 では、このモジュールは APK 形式です。
カスタマイズ
Android 11 では、デフォルトのテキスト分類を呼び出すカスタム テキスト分類サービスを構成できます(ただし、これは推奨されません)。Android 10 では、ExtServices モジュールにはカスタマイズのオプションは用意されていません。
テスト
Android 互換性テストスイート(CTS)は、すべてのモジュール リリースで包括的な CTS テストを実行し、ExtServices モジュールの機能を検証します。また、Mainline Test Suite(MTS)にも ExtServices テストがいくつか含まれています。ExtServices テストの全一覧は次のとおりです。
ExtServices の一般的な動作。MTS テスト
mts-extservices.xml
によって検証済みです。構成の変更CTS テスト
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
によって検証済みです。TextClassifier
の構成。CTS テストcts/TextClassifierPolicyTest.java
によって検証済みです。インライン候補を自動入力します。
cts/inline/
の CTS テストによって検証済みです。