AppFunctions Android里的mcp实现
背景
随着AI技术的持续进步,深刻影响着各行各业的传统业务,新的产品形态层出不穷。在手机领域,各个厂商也都探索着在AI加持下的手机再进化。目前,几乎每家手机厂商都有自己的手机助手,对于手机厂商来说,自研的手机助手在权限打通,系统资源获取等方面,有天然的优势,也在一定程度上给大家带来了不少便利,但是整体上,还没有感受到让人眼前一亮的表现。2025年年底,豆包手机的出现,让大家非常惊艳,后续超级应用的反击,也让大家感受到了技术形态演进背后的利益博弈。
2026年初google在一篇博客中指出,用户对手机上人工智能的期望正在从根本上改变他们与应用程序的交互方式。用户不再需要一步一步地打开应用程序来完成任务,而是希望人工智能能够代劳。在这种新的交互模式下,手机生态不仅仅在于吸引用户打开应用程序,而是要帮助他们成功完成任务,从而提高效率。
为了帮助开发者打造适应智能体未来发展的应用,谷歌推出了面向早期开发者的功能,旨在拉近应用与智能体应用和个性化助手(例如 Google Gemini)之间的距离。虽然目前仍处于早期测试阶段,但作为探索应用生态系统范式转变的第一步,谷歌将隐私和安全置于这些功能设计的核心位置。
这个方案,就是AppFunctions
Android AppFunctions允许应用直接向 AI 代理和手机助手公开数据和功能。使用AppFunctions Jetpack 库和平台 API,开发者可以创建自描述函数,供代理应用通过自然语言发现并执行。AppFunctions 为 Android 应用提供了一种设备端解决方案,其后端功能声明方式与通过 MCP 云服务器声明的方式类似。与Web MCP类似,只不过它在设备本地而非服务器上执行这些函数。调用方必须具有 EXECUTE_APP_FUNCTIONS 权限才能发现和执行 AppFunction。
AppFunctions 提供了一种强大的机制来自动执行任务并简化用户互动。通过公开应用的功能,您可以让用户使用自然语言完成复杂的目标,而无需通过界面进行逐步手动导航。
以下场景说明了如何使用 AppFunctions 在各种应用类别中打造全新体验:
- 任务管理和工作效率
- 用户请求:“提醒我今天下午 5 点在工作场所取包裹”。
- AppFunction 操作:调用方识别相关的任务管理应用,并调用一个函数来创建任务,根据用户的提示自动填充标题、时间和位置字段。
- 媒体和娱乐
- 用户请求:“创建一个包含今年热门爵士专辑的新播放列表”。
- AppFunction 操作:调用方在音乐应用中执行播放列表创建函数,传递“2026 年热门爵士专辑”等上下文作为查询,以立即生成并启动内容。
- 跨应用工作流程
- 用户请求:“查找 Lisa 的电子邮件中的面条食谱,并将食材添加到我的购物清单”。
- AppFunction 操作:此请求使用来自多个应用的功能。首先,调用方使用电子邮件应用的搜索功能检索内容。然后,它会提取相关食材,并调用购物清单应用的功能来填充用户的清单。
- 日历和日程安排
- 用户请求:“将妈妈的生日派对添加到我的日历中,时间是下周一下午 6 点”。
- AppFunction 操作:经批准的智能应用调用日历应用的“创建活动”函数,解析“下周一”和“下午 6 点”等相关情境,以创建条目,而无需用户手动打开日历。
看下具体使用效果,当图库支持这个功能后,用户无需手动翻阅相册,只需告诉 Gemini “从图库里找找猫的照片”。Gemini 会接收用户的查询,智能识别并触发相应的功能,并将图库中的照片直接显示在 Gemini 应用中,用户无需离开应用即可完成操作。这种体验支持多模式,可通过语音或文字完成。用户 可以将返回的照片用于后续对话,例如通过短信发送给朋友。

通过 AppFunctions,Gemini 已可在多个厂商的设备上自动执行日历、笔记等应用类别中的任务。无论是协调日历事件、整理笔记还是设置待办事项提醒,用户都可以在一个地方简化日常活动。
AppFunction 的运作方式
AppFunctions 是 Android 16 平台功能且有一个配套的 Jetpack 库,可让应用公开特定功能,以便调用方(例如Agent应用)在设备上访问和执行这些功能。
Agent应用在处理用户请求时,可能会同时考虑服务器端远程 MCP 工具和本地 AppFunctions。使用本地 AppFunctions 的详细流程如下:
- AppFunction 声明:Android 应用构建为公开其 AppFunction,例如“创建笔记”或“发送消息”。
- 架构生成:AppFunctions Jetpack 库会生成一个 XML 架构文件,其中列出了应用中声明的所有 AppFunctions。Android 操作系统会使用此文件来为可用的 AppFunctions 编制索引。
- 元数据检索:Agent可以通过查询来检索 AppFunction 元数据。
- AppFunction 选择和执行:根据用户提示,Agent将选择并执行具有相应形参的 AppFunction。
AppFunctions Jetpack 库可简化应用功能的公开。借助注解处理器,开发者可以为要公开的函数添加注释。然后,调用方可以使用 AppFunctionManager 发现并调用这些已编入索引的函数。
对于没有适配AppFunctions的应用,谷歌提供了另一种方案。
智能UI自动化
谷歌目前正在开发一个 UI 自动化框架,用于 AI 代理和助手在用户已安装的应用上智能地执行通用任务,执行过程对用户透明,用户可以随时控制任务执行。框架承担了大部分工作,因此开发者无需编写任何代码即可配合实现被Agent调用相关功能。这种方案无需应用进行大量投入即可轻松支持。
目前,已经在部分 Pixel 10 设备上推出早期预览版。用户只需长按电源键,即可将多步骤任务委托给 Gemini。该功能将作为 Gemini 应用的测试版推出,初期将支持部分外卖、杂货和网约车应用。无论用户是需要为口味特殊的家人订购复杂的披萨,还是需要与同事协调多站网约车,亦或是需要重新订购上次购买的杂货,Gemini 都能利用应用中已有的信息帮助用户完成任务,无需任何开发者的干预。

用户可以通过用户界面自动化功能在后台执行任务,并始终掌控全局。对于任何自动化操作,用户都可以选择通过通知或“实时视图”监控任务进度,并可随时切换到手动控制模式来接管操作。Gemini 还设计为在用户完成敏感任务(例如购买)之前发出提醒。
未来,手机的交互形态一定会向更加便捷和智能的方向演进,个人认为,一方面,手机的交互方式将从传统的触屏逐步输入,到理解自然语言后自动执行演进,另一方面,手机也将更加具有主动思考的能力,也就是说,不再是被动反应,更应该是根据当前用户诉求和自身能力,主动提供服务。举个例子,当用户在设置某个功能界面不断寻找某个设置项时,手机应该结合用户操作,主动询问用户诉求。不至于让用户徒劳无功。
未来的交互范式,指的大家期待!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)