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ư thứ hạng thông báo, chiến lược so khớp văn bản tự động điền, bộ nhớ đệm lưu trữ, trình giám sát gói và các dịch vụ khác chạy liên tục. Mô-đun này có thể cập nhật, nghĩa là có thể nhận được bản cập nhật về chức năng bên 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
kể từ Android 11InlineSuggestionsRenderService
bắt đầu từ Android 11AutofillFieldClassificationService
kể từ Android 10NotificationAssistantService
bắt đầu từ Android 10ResolverRankerService
bắt đầu từ Android 10CacheQuotaService
kể từ Android 10
Dịch vụ Hiển thị băm
Trong Android 12, DisplayHashingService
được dùng để tạo một thực thể của DisplayHash
cho vùng đệm đã chỉ định. Mã 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 hàm băm hiển thị, phương thức gọi có thể chỉ định thuật toán băm được hỗ trợ mà phương thức gọi 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ư lựa 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 bộ 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 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
.
Các thuật toán phân loại văn bản tuỳ chỉnh có thể dựa vào thuật toán phân loại văn bản mặc định bằng cách gọi TextClassifierService.getDefaultTextClassifierImplementation(Context)
để lấy một thực thể của thuật toán đó.
dịch vụ hiển thị nội dung đề xuất
Thành phần dịch vụ InlineSuggestionRenderService
cho phép Gợi ý cùng dòng xuất hiện trong dải gợi ý của bàn phím. Dịch vụ này được gọi để hiển thị đố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.
Phương thức triển khai mặc định cho dịch vụ trình kết xuất này gọi vào androidx.autofill.inline.Renderer
để hiển thị nội dung đề xuất. Hành vi này được xác minh bằng các 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 quy trình 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à 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/
(các tệp từpackages/modules/ExtServices/res
,packages/modules/ExtServices/src
,packages/modules/ExtServices/tests
và các 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 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 vậy). Trong Android 10, mô-đun ExtServices không cung cấp các tuỳ chọn tuỳ chỉnh.
Thử nghiệm
Bộ kiểm thử tính tương thích với Android (CTS) 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ử chính (MTS) cũng chứa một số kiểm thử ExtServices. Dưới đây là danh sách đầy đủ các bài kiểm thử ExtServices:
Thay đổi về cấu hình. Được xác minh bằng quy trình 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 thử nghiệm CTScts/TextClassifierPolicyTest.java
.Nội dung đề xuất tự động điền cùng dòng. Được xác minh bằng các bài kiểm thử CTS trong
cts/inline/
.