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 khớp văn bản tự động điền, bộ đệm lưu trữ, cơ quan 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à nó có thể nhận các bản cập nhật cho 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.

DisplayHashingDịch vụ

Trong Android 12, DisplayHashingService được dùng để tạo một phiên bản DisplayHash cho vùng đệm được chỉ định. Nó cũng được sử dụng để xác minh rằng hàm băm hiển thị cụ thể đã được hệ thống tạo ra. Khi tạo hàm băm hiển thị, người gọi có thể chỉ định thuật toán băm được hỗ trợ nào mà nó muốn sử dụng.

Dịch vụ phân loại văn bản

Thành phần dịch vụ TextClassifierService hỗ trợ các API TextClassifier 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 trình phân loại văn bản mặc định, được xác minh bằng thử nghiệm 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 tùy chỉnh bằng cách chỉ định config_defaultTextClassifierPackage trong config.xml . Trình phân loại văn bản tùy 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 phiên bản của nó.

Dịch vụ đề xuất nội tuyếnRenderService

Thành phần dịch vụ InlineSuggestionRenderService cho phép hiển thị Đề xuất nội tuyến trong dải đề xuất bàn phím. Dịch vụ này được gọi để hiển thị đối tượng Chế độ View chứa Đề xuất nội tuyến cho luồng Tự động điền nội tuyến mới. Việc triển khai mặc định cho dịch vụ kết xuất này gọi vào androidx.autofill.inline.Renderer để hiển thị đề xuất. Hành vi này được xác minh bằng các thử nghiệm CTS trong /autofillservice/cts/inline/ .

Tên gói hàng

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 thử nghiệm CTS cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java .

Ranh giới mô-đun

Trong Android 12, mã mô-đun ExtServices được 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 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 ) ở định dạng APEX . Trong Android 10, mô-đun này ở định dạng APK.

Tùy 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 tùy chỉnh gọi trình phân loại văn bản mặc định (tuy nhiên, điều này không được khuyến khích). Trong Android 10, mô-đun ExtServices không cung cấp các tùy chọn tùy chỉnh.

Kiểm tra

Bộ kiểm tra tương thích Android (CTS) xác minh chức năng mô-đun ExtServices bằng cách chạy một bộ kiểm tra CTS toàn diện trên mỗi bản phát hành mô-đun. Ngoài ra, Mainline Test Suite (MTS) cũng chứa một số bài kiểm tra ExtServices. Danh sách đầy đủ các bài kiểm tra ExtServices như sau: