ExtServices 모듈은 알림 순위 지정, 텍스트 일치 자동 완성 전략, 저장소 캐시, 패키지 워치독, 지속적으로 실행되는 기타 서비스 등 핵심 OS 기능의 프레임워크 구성요소를 업데이트합니다. 이 모듈은 업데이트할 수 있습니다. 즉, 일반적인 Android 출시 주기 외에도 기능 업데이트를 받을 수 있습니다.
서비스 구성요소
ExtServices 모듈에는 다음과 같은 서비스가 포함되어 있습니다.
DisplayHashingService
(Android 12부터)TextClassifierService
(Android 11부터)InlineSuggestionsRenderService
(Android 11부터)AutofillFieldClassificationService
(Android 10부터)NotificationAssistantService
(Android 10부터)ResolverRankerService
(Android 10부터)CacheQuotaService
(Android 10부터)
DisplayHashingService
Android 12에서는 DisplayHashingService
를 사용하여 지정된 버퍼의 DisplayHash
인스턴스를 생성합니다. 이 서비스는 시스템에서 특정 디스플레이 해시를 생성했는지 확인하는 데도 사용됩니다. 호출자는 디스플레이 해시를 생성할 때 지원되는 해시 알고리즘 중 사용할 알고리즘을 지정할 수 있습니다.
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
를 통해 확인됩니다.
모듈 경계
Android 12의 ExtServices 모듈 코드가 frameworks/base/apex/extservices
(frameworks/base project
의 하위 디렉터리) 및 packages/modules/ExtServices
에서 이동되었습니다.
packages/modules/ExtServices
의 새 프로젝트 구조는 다음과 같습니다.
apex/
(frameworks/base/apex/extservices
의 파일)java/
(packages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
의 파일 및 새 기능을 위한 파일)jni/
(새 기능을 위한 파일)native/
(새 기능을 위한 파일)
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 테스트의 전체 목록은 다음과 같습니다.
구성 변경. CTS 테스트
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
을 통해 확인됩니다.TextClassifier
구성. CTS 테스트cts/TextClassifierPolicyTest.java
를 통해 확인됩니다.자동 완성 인라인 추천.
cts/inline/
에서 CTS 테스트를 통해 확인됩니다.