Google 致力于为黑人社区推动种族平等。查看具体举措

ExtServices

ExtServices 模块更新了核心操作系统功能的框架组件,例如通知排序、自动填充文本匹配策略、存储缓存、软件包监控定时器,以及其他持续运行的服务。此模块可更新,意即该模块可在 Android 常规发布周期外的时间接收功能更新。

服务组件

在 Android 10 中,ExtServices 模块包含以下服务。

在 Android 11 中,ExtServices 模块引入了两个服务组件:TextClassifierServiceInlineSuggestionsRenderService

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_servicesExtensionPackageframeworks/base/core/res/res/values/config.xml 中)设为 ExtServices 软件包名称 (com.android.ext.services)。此配置更改通过 CTS 测试 cts/tests/tests/os/src/android/os/cts/RequiredComponentsTest.java 进行验证。

模块边界

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 测试套件 (MTS) 也包含几项 ExtServices 测试。ExtServices 测试的完整列表如下所示: