ExtServices

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

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ợ TextClassifierAPI 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: