Mô-đun ExtServices cập nhật các thành phần khung cho chức năng cốt lõi của hệ điều hành, chẳng hạn như xếp hạng thông báo, chiến lược so khớp văn bản tự động điền, bộ nhớ đệm, trình giám sát gói và các dịch vụ khác chạy liên tục. Bạn có thể cập nhật mô-đun này, tức là mô-đun này có thể nhận các bản cập nhật về chức năng ngoài chu kỳ phát hành Android thông thường.
Thành phần dịch vụ
Mô-đun ExtServices chứa các dịch vụ sau.
DisplayHashingService
kể từ Android 12TextClassifierService
bắt đầu từ Android 11InlineSuggestionsRenderService
bắt đầu từ Android 11AutofillFieldClassificationService
bắt đầu từ Android 10NotificationAssistantService
bắt đầu từ Android 10ResolverRankerService
bắt đầu từ Android 10CacheQuotaService
kể từ Android 10
DisplayHashingService
Trong Android 12, DisplayHashingService
được dùng để tạo một phiên bản của DisplayHash
cho vùng đệm đã chỉ định. Khoá này cũng được dùng để xác minh rằng hệ thống đã tạo một hàm băm hiển thị cụ thể. Khi tạo một hàm băm hiển thị, phương thức gọi có thể chỉ định hàm băm nào trong số các thuật toán băm được hỗ trợ mà phương thức này muốn sử dụng.
TextClassifierService
Thành phần dịch vụ TextClassifierService
hỗ trợ TextClassifier
API và các tính năng của Android như tính năng chọn văn bản thông minh và đề xuất thông minh trong thông báo. Mô-đun ExtServices chứa trình phân loại văn bản mặc định, được xác minh bằng kiểm thử CTS TextClassifierPolicyTest.java
.
Nếu cần, bạn có thể định cấu hình một dịch vụ phân loại văn bản tuỳ chỉnh bằng cách chỉ định config_defaultTextClassifierPackage
trong config.xml
.
Trình phân loại văn bản tuỳ chỉnh có thể phụ thuộc vào trình phân loại văn bản mặc định bằng cách gọi TextClassifierService.getDefaultTextClassifierImplementation(Context)
để lấy một phiên bản của trình phân loại văn bản mặc định.
InlineSuggestionRenderService
Thành phần dịch vụ InlineSuggestionRenderService
cho phép các Đề xuất nội tuyến xuất hiện trong dải đề xuất của bàn phím. Dịch vụ này được gọi để kết xuất một đối tượng View
chứa Đề xuất cùng dòng cho quy trình Tự động điền cùng dòng mới.
Hoạt động triển khai mặc định cho dịch vụ trình kết xuất này sẽ gọi vào androidx.autofill.inline.Renderer
để kết xuất đề xuất. Hành vi này được xác minh bằng các quy trình kiểm thử CTS trong /autofillservice/cts/inline/
.
Tên gói
Các thiết bị chạy Android 11 phải đặt config_servicesExtensionPackage
(trong frameworks/base/core/res/res/values/config.xml
) thành tên gói ExtServices (com.android.ext.services
). Thay đổi cấu hình này được xác minh bằng kiểm thử CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.
Ranh giới mô-đun
Trong Android 12, mã mô-đun ExtServices được di chuyển từ frameworks/base/apex/extservices
(đây là một thư mục con của frameworks/base project
) và packages/modules/ExtServices
.
Cấu trúc dự án mới cho packages/modules/ExtServices
như sau:
apex/
(tệp từframeworks/base/apex/extservices
)java/
(tệp từpackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
và tệp cho tính năng mới)jni/
(tệp cho tính năng mới)native/
(tệp cho tính năng mới)
Ranh giới mô-đun ExtServices nằm trong packages/modules/ExtServices
. Android 11 cũng di chuyển một số lớp triển khai TextClassifier
ra khỏi frameworks/base/core/
.
Định dạng mô-đun
Trong Android 11, mô-đun ExtServices (com.android.ext.services
) có định dạng APEX. Trong Android 10, mô-đun này ở định dạng APK.
Tuỳ chỉnh
Trong Android 11, bạn có thể định cấu hình một dịch vụ phân loại văn bản tuỳ chỉnh gọi trình phân loại văn bản mặc định (tuy nhiên, bạn không nên làm như vậy). Trong Android 10, mô-đun ExtServices không cung cấp các lựa chọn tuỳ chỉnh.
Thử nghiệm
Bộ kiểm tra tính tương thích (CTS) với Android xác minh chức năng của mô-đun ExtServices bằng cách chạy một bộ kiểm thử CTS toàn diện trên mọi bản phát hành mô-đun. Ngoài ra, Bộ kiểm thử Mainline (MTS) cũng chứa một số kiểm thử ExtServices. Sau đây là danh sách đầy đủ các kiểm thử ExtServices:
Thay đổi cấu hình. Được xác minh bằng kiểm thử CTS
cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java
.cấu hình
TextClassifier
. Được xác minh bằng kiểm thử CTScts/TextClassifierPolicyTest.java
.Đề xuất tự động điền cùng dòng. Được xác minh bằng các quy trình kiểm thử CTS trong
cts/inline/
.