Android 17 AI 架构全景

Android 17 在 AI 方面是一次重大架构升级,引入了 4 个全新系统服务、1 个新 HAL、1 个新系统应用,形成从硬件到应用的完整 AI 技术栈。本文基于 AOSP 源码进行梳理。

架构分层总览

层级组件说明
应用层PersonalContext、OnDeviceAppPrediction、第三方 AI 应用面向用户和系统智能的 AI 应用
Framework APIOnDeviceIntelligenceManager、PersonalContextManager、AiSealManager、PccSandboxManager、NpuManager面向开发者的系统 API(@SystemApi / @hide)
系统服务ODI 推理服务、PersonalContext 上下文流水线、PCC 隐私沙箱、AiSeal 保护型 VM、NpuManager NPU 调度SystemServer 中运行的核心服务
HAL 层NPU HAL (android.hardware.npu)、NeuralNetworks HAL硬件抽象层,VINTF 稳定接口
硬件层NPU / GPU / DSP / CPU物理 AI 加速器

一、OnDeviceIntelligence (ODI) —— 端侧 AI 推理引擎

ODI 是 Android 17 的旗舰 AI 推理服务,提供 LLM 推理、文本 Embedding、图像描述、Token 计算等能力,所有推理在隔离进程中运行,保障安全性和稳定性。

维度详情
源码路径frameworks/base/packages/NeuralNetworks/
系统服务OnDeviceIntelligenceManagerService.java,在 SystemServer 第 3666 行启动
对外 APIOnDeviceIntelligenceManager (@SystemApi)
所需权限USE_ON_DEVICE_INTELLIGENCE
服务常量Context.ON_DEVICE_INTELLIGENCE_SERVICE = "on_device_intelligence"

双服务架构

ODI 采用两个远端服务分离关注点:

  • OnDeviceIntelligenceService(普通进程):负责模型管理、文件访问、Feature 发现、模型下载
  • OnDeviceSandboxedInferenceService(隔离进程):执行实际推理,支持流式和非流式两种模式

核心 API 类

app/ondeviceintelligence/
├── OnDeviceIntelligenceManager   -- 主入口
├── Feature / FeatureDetails     -- AI 能力发现
├── OnDeviceModel                -- 模型管理
├── InferenceInfo / TokenInfo    -- 推理元数据
├── Content / Part               -- 多模态内容结构
├── ProcessingCallback           -- 非流式回调
├── StreamingProcessingCallback  -- 流式回调
├── embedding/                   -- Embedding 子 API
│   ├── EmbeddingModel
│   ├── EmbeddingRequest/Response
│   └── EmbeddingVector
└── imagedescription/            -- 图像描述子 API
    ├── ImageDescriptionModel
    ├── ImageDescriptionRequest/Response
    └── ImageDescriptionCallback

二、PersonalContext —— 个人上下文感知系统

PersonalContext 通过三阶段流水线,将设备端的屏幕内容、通知、通话等信号转化为个性化的洞察和可操作建议。

维度详情
系统服务路径frameworks/base/services/core/java/com/android/server/personalcontext/
系统应用路径packages/apps/PersonalContext/
Framework APIframeworks/base/core/java/android/service/personalcontext/
服务启动SystemServer 第 2680–2682 行,由 config_enablePersonalContextManagerService 控制

三阶段流水线

Hints(输入) → Refiner(提炼) → Understander(理解) → Renderer(呈现) → Insights(输出)

Hint 类型(输入信号)

Hint来源
NotificationHint通知栏消息
CallHint来电/通话
MessagesHintSMS/即时消息
UserInputHint用户输入事件
RecentViewHint近期浏览内容
ContentCaptureConversationHintContent Capture 对话
TextClassificationHint文本分类结果
AutofillInlineRequestHint自动填充请求

PersonalContext 系统应用内部模块

模块功能
aicore/直接调用 AI 模型:contextclassification、infoextraction、intentextraction、keywordextraction、textembedding 等
model/inference/推理引擎:actionclassifier、intentclassifier、embedding、memorygeneration、textclassifier 等
model/architecture/bert/BERT 模型架构及其 DateTime 算法实现
common/rag/RAG 流水线:Retrieve Agent → AppSearch 存储 → Document 处理
search/magicaction/Magic Action 上下文动作搜索
search/magicrecall/Magic Recall 记忆召回搜索
understander/ChatUnderstander、NotificationUnderstander、ContextMenuUnderstander 服务实现

三、Private Compute Core (PCC) —— 隐私计算沙箱

PCC 是 Android 17 AI 安全的核心边界层。它确保敏感数据只能流入 PCC 沙箱,流出时强制经过脱敏和聚合处理,并提供完整的审计日志。

维度详情
路径frameworks/base/services/core/java/com/android/server/privatecompute/
主服务PccSandboxManagerService
权限PROVIDE_PRIVATE_COMPUTE_SERVICES

8 种 PCC 受信角色

角色常量用途
ASSISTANT数字助理
SYSTEM_NOTIFICATION_INTELLIGENCE通知智能
SYSTEM_TEXT_INTELLIGENCE文本智能
SYSTEM_VISUAL_INTELLIGENCE视觉智能
SYSTEM_AUDIO_INTELLIGENCE音频智能
SYSTEM_UI_INTELLIGENCEUI 智能
SYSTEM_VENDOR_INTELLIGENCE厂商智能
SYSTEM_APP_PROTECTION_SERVICE应用保护服务

核心安全机制

  • Bundle 脱敏:PccBundleSanitizationUtil 确保跨边界数据安全
  • 审计日志:AuditLogFileManager + AuditLogFileWriter + AuditLogInMemoryBuffer 全链路记录
  • 代理包装:对不受信客户端的 Binder 进行代理包装,拦截和脱敏

四、AiSeal —— AI 保护型虚拟机

AiSeal 是 Android 17 最硬核的安全组件——将最敏感的 AI 负载(个人数据推理、AI Agent)放在硬件隔离的虚拟机中运行。主机端守护进程使用 Rust 编写。

维度详情
Java 服务frameworks/base/services/aiseal/java/
Native 守护进程frameworks/native/services/aisealhostservice/(Rust)
通信方式vsock + Binder RPC
权限MANAGE_AISEAL_VIRTUAL_MACHINE

关键设计

  • Rust 原生守护进程,通过 service.aiseal.enable 系统属性控制
  • 管理 CE(凭据加密)存储生命周期
  • AiSealManager.connectService(name) 通过 vsock Binder 连接 VM 内部服务
  • AppSearchAiSealConfig 配置 AppSearch 在 VM 内运行
  • 集成 SELinux 和 vsock 上下文控制

五、NPU HAL + NpuManager —— NPU 硬件调度

这是 Android 17 全新引入的 VINTF 稳定 HAL。与 NNAPI(负责 ML 算子执行)不同,NPU HAL 专注于优先级调度和资源管理。

维度详情
HAL 接口android.hardware.npu (AIDL v1)
HAL 路径hardware/interfaces/npu/aidl/
NpuManagerpackages/modules/NpuManager/(APEX 模块)
NDK 支持Rust + C FFI,__INTRODUCED_IN(37)

核心 AIDL 接口

接口功能
IScheduling系统设置每 UID 优先级(0–1000,数值越低优先级越高),获取工作状态回调
ISchedulingCallbackonWorkRequested / onWorkStarted / onWorkEnded(50ms 去抖动)
SchedulingConfig包含 UID、优先级(0–1000)、directAccess 标志
WorkInfo包含 UID、优先级、时间戳、设备号、工作 ID

三种模型加载策略

策略说明
StatusQuoModelLoadingPolicy维持现状,不做调度干预
TurnTakingModelLoadingPolicy轮流加载,公平分配
BudgetModelLoadingPolicy基于预算,按配额分配 NPU 资源

六、其他 AI 相关组件

组件路径功能
NNAPIpackages/modules/NeuralNetworks/
hardware/interfaces/neuralnetworks/
底层 ML 算子加速(TFLite 等),HIDL 1.0–1.3 + AIDL v1–v4
OnDevicePersonalizationpackages/modules/OnDevicePersonalization/设备端个性化 + 联邦学习(FederatedComputeManager)
OnDeviceAppPredictionpackages/apps/OnDeviceAppPrediction/应用预测服务
odsignsystem/security/ondevice-signing/AI 模型和设备数据的加签/验证(C++ 实现,集成 Keystore)
AppSearchpackages/modules/AppSearch/设备端搜索索引引擎,支撑 PersonalContext 的存储和检索
FederatedComputeexternal/federated-compute/fcp/完整的联邦计算协议实现(聚合、客户端、引擎)

七、权限体系汇总

权限归属组件用途
USE_ON_DEVICE_INTELLIGENCEODI使用端侧推理能力
BIND_ON_DEVICE_INTELLIGENCE_SERVICEODI绑定 ODI 管理服务
BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICEODI绑定沙箱推理服务
PERSONAL_CONTEXT_PUBLISH_HINTSPersonalContext发布上下文提示
PERSONAL_CONTEXT_PUBLISH_INSIGHTSPersonalContext发布上下文洞察
PERSONAL_CONTEXT_RECEIVE_HINTSPersonalContext接收上下文提示
PERSONAL_CONTEXT_RECEIVE_INSIGHTSPersonalContext接收上下文洞察
PERSONAL_CONTEXT_HOST_INSIGHT_SURFACEPersonalContext托管洞察展示界面
CHANGE_PERSONAL_CONTEXT_MODEPersonalContext切换上下文模式
PROVIDE_PRIVATE_COMPUTE_SERVICESPCC提供隐私计算服务
MANAGE_AISEAL_VIRTUAL_MACHINEAiSeal管理 AiSeal 虚拟机

八、SystemServer 启动链路

所有 AI 服务在 SystemServer.java 中的启动位置和顺序:

行号代码说明
424ON_DEVICE_INTELLIGENCE_MANAGER_SERVICE_CLASSODI 服务类常量定义
1964enablePccFrameworkSupport()PCC 框架开关检查
2124startOnDeviceIntelligenceService(t)ODI 服务启动
2680-2682startService(PersonalContextManagerService.class)PersonalContext 服务启动(受 config flag 控制)
3021-3026startService(AiSealSystemService.class)AiSeal 服务启动

九、核心源码速查

关键文件作用
frameworks/base/services/java/com/android/server/SystemServer.java所有 AI 服务的注册和启动
frameworks/base/core/java/android/content/Context.java:7102ON_DEVICE_INTELLIGENCE_SERVICE
frameworks/base/core/java/android/content/Context.java:6896PCC_SANDBOX_SERVICE
frameworks/base/core/java/android/content/Context.java:7376AISEAL_HOST_SERVICE
frameworks/base/core/res/AndroidManifest.xml:9823-9842ODI 权限定义
frameworks/base/core/res/AndroidManifest.xml:3140-3218PersonalContext 权限定义
frameworks/base/core/res/AndroidManifest.xml:10347AiSeal 权限定义
frameworks/base/core/res/res/values/config.xml:5250-5263ODI 默认服务配置

十、总结

Android 17 的 AI 架构可以归纳为「三引擎 + 两安全边界 + 一调度层」:

  1. 推理引擎(ODI):对应用层暴露 LLM 推理、Embedding、图像描述等生成式 AI 能力
  2. 上下文引擎(PersonalContext):Hint → Refiner → Understander → Renderer 流水线,将设备信号转化为智能洞察
  3. 联邦引擎(OnDevicePersonalization + FederatedCompute):隐私保护下的设备端个性化与联邦学习
  4. PCC 沙箱:软件级安全边界,数据单向流入,脱敏输出,全链路审计
  5. AiSeal 虚拟机:硬件级安全边界,Rust 守护进程管理,vsock RPC 通信
  6. NPU 调度层(NPU HAL + NpuManager):优先级感知的 NPU 资源分配,三种加载策略

整个架构从底层的 NPU 硬件调度,到中层的推理引擎和上下文理解,再到上层的隐私沙箱和虚拟机隔离,形成了一套完整的、安全优先的端侧 AI 技术栈。

本文基于 AOSP android17 分支源码分析,版权归属 Android Open Source Project。