把 Android Studio 的「代理模式」用简单话说清楚

 

谷歌给 Android Studio 增加了免费的 Agent 模式! 你可以直接跟 Agent 对话开发安卓应用 支持快速选中直接修改 UI 代码,支持自定义规则


开场白:到底什么是“代理”?

想象你正在做一道复杂的家常菜。
传统做法是:

  1. 你自己切菜、调味、翻炒;
  2. 一旦顺序错了,就得从头再来。

代理模式(Agent Mode)就像请了一位经验丰富的主厨助手:

  • 你把“我想吃糖醋里脊”说给他听;
  • 他列好采购清单、制定步骤、边做边尝;
  • 每一步都先让你看一眼,确认没问题再继续;
  • 如果你信任他,甚至可以给他“全权授权”,让他一次性做完。

在 Android Studio 里,这位“主厨”就是 Gemini 的 Agent Mode。


目录

  1. 为什么要用代理模式?
  2. 打开代理模式的 5 个步骤
  3. 5 个真实用例,拿来即用
  4. 代理到底在背后做了什么?
  5. 常见疑问 FAQ
  6. 小结:什么时候该请出这位“主厨”

1. 为什么要用代理模式?

传统聊天方式 代理模式
一问一答,手动复制粘贴代码 自动跨文件修改,一次性完成
需要自己找 bug、再追问 自动编译、验证、迭代修复
容易遗漏细节 按步骤执行,可随时回滚

一句话:它能帮你把“想法”直接变成“可运行的代码”,同时让你保留最终决定权。


2. 打开代理模式的 5 个步骤

下面每一步都附带截图说明,照着点即可。

步骤 1:找到 Gemini 图标

打开 Android Studio,左侧边栏找到彩色小星球的图标,点击它。
Gemini 图标

步骤 2:切换到“代理”标签页

弹出的面板里,顶部有 3 个标签:Chat、Agent、Code。
Agent

步骤 3:描述任务

在输入框里像跟朋友说话一样描述需求。
示例:

  • “把应用标题从 MyApp 改成 CoolApp。”
  • “修复项目里所有的 build error。”

步骤 4:逐条确认修改

代理会列出它打算动哪些文件、改哪些行。

  • 绿色 ✅ = 新增
  • 红色 ❌ = 删除
  • 蓝色 ✏️ = 修改

右侧有 Accept / Reject 按钮。
等待确认

步骤 5(可选):打开“自动批准”

如果你已经很信任代理,点右上角齿轮 → Auto-approve changes
自动批准


3. 5 个真实用例,拿来即用

下面每个例子都经过实测,复制提示词即可运行。

用例 1:一键修复所有 build error

提示词:

Fix all build errors in this project.

代理会:

  • 先执行一次 ./gradlew build
  • 读错误日志;
  • 逐条改代码;
  • 再编译,直到通过为止。

用例 2:把深色模式设为默认

提示词:

Make dark theme the default in user preferences.

代理会:

  • 找到 Settings.ktUserPreferences.java
  • isDarkTheme = false 改成 true
  • 如果 UI 已打开,运行中的设备会实时预览。

用例 3:往 mock 数据里加两条会话

提示词:

Add two more sessions to the mockSessions list.

代理会:

  • 定位到包含 mockSessions 的文件;
  • 追加两条随机数据;
  • 保持原有格式不变。

用例 4:给某个类写单元测试

提示词:

Write unit tests for the `UserRepository` class in the data module.

代理会:

  • 新建 UserRepositoryTest.kt
  • 引入 JUnit/MockK 依赖;
  • 写 3-5 条典型测试用例。

用例 5:把可组合函数搬到独立文件

提示词:

Refactor my code: move the `ProfileCard` composable to a new file and update all imports.

代理会:

  • 创建 ProfileCard.kt
  • 剪切原函数;
  • 自动修正 import 语句;
  • 原文件只留下调用处。

4. 代理到底在背后做了什么?

用一张流程图说明:

graph TD
    A[你输入提示] --> B[代理制定计划]
    B --> C{需要哪些工具?}
    C --> D[搜索文件]
    C --> E[读取内容]
    C --> F[调用 MCP 服务器]
    D & E & F --> G[生成修改]
    G --> H{你确认?}
    H -->|是| I[写入磁盘]
    H -->|否| J[跳过或重试]
    I --> K[再次编译/运行]
    K --> L{任务完成?}
    L -->|否| B
    L -->|是| M[结束]

关键概念解释:

  • 工具 (Tools):代理的技能列表,比如“查找所有 XML 文件”、“读取 build.gradle”、“调用自定义脚本”。
  • MCP 服务器:如果你配置了外部数据源或脚本,代理也能调用它们。
  • 循环迭代:代理会不断“做→测→改”,直到目标达成或你喊停。

5. 常见疑问 FAQ

Q1:代理会把我的代码弄坏吗?

A:每一步都会先展示 diff,你点了 Accept 才会真正写入磁盘。
不放心就开 局部 Git 分支,随时回滚。

Q2:支持哪些语言?

A:目前实测 Kotlin、Java、XML、Gradle 脚本都没问题。
理论上只要文件能被 Android Studio 识别,代理就能读。

Q3:能改 Jetpack Compose 的预览吗?

A:可以。代理改完可组合函数后,点击 Split 视图即可看到实时预览。

Q4:如何让它别乱改注释?

A:在提示词里加一句:

请保留原有注释格式,只改业务逻辑。

代理会遵守。

Q5:代理模式和 Chat 模式有啥区别?

维度 Chat 模式 代理模式
交互 一问一答 多步自动
文件修改 手动复制粘贴 自动写入
验证 需人工编译 自动编译
适合场景 快速查资料 复杂重构、修 bug

6. 小结:什么时候该请出这位“主厨”

场景 是否推荐代理模式
只想查个 API 用法 ❌ 用 Chat 即可
项目突然 100+ build error ✅ 代理模式
UI 微调颜色、文案 ✅ 代理模式
需要跨 10 个文件的重构 ✅ 代理模式
写一次性脚本 ❌ 自己写更快

一句话总结:
当你能把需求用一句话描述清楚,却懒得一步步手动操作时,就该交给代理模式。


附录:提示词速查表

复制即可用:

  • “把应用主题色改成 Material You 动态色。”
  • “在 MainActivity 的 onCreate 里加个日志:‘App started’。”
  • “为 data 模块里的所有 Repository 生成接口。”
  • “把 build.gradle 中的 compileSdk 升到 34。”
  • “修复运行时的 NullPointerException,日志见附件。”

把这份速查表贴在工位,用 1 周就能体会到“主厨”带来的效率飞升。祝你编码愉快!