Android CLI 完全指南

一直以来,Android 开发基本都围绕 Android Studio 展开。

打开 IDE,点击 Build,启动模拟器;遇到问题时去浏览器里搜索文档,需要新的 SDK 时再打开 SDK Manager 安装。

但,最近这两年,开发方式正在发生改变,随着 AI 的快速发展,UI 类型的开发工具反而效率变得低了,相比较 CLI 的工具,AI 更加能够使用 CLI 完成复杂的任务,所以,Google 很快开发了 Android CLI。

新的 Android CLI 将很多原本依赖 Android Studio 的能力带到了终端。它不只是又一个命令行工具,而是逐渐成为开发者和 AI 编程 Agent 理解、构建、调试和自动化 Android 项目的统一入口。

如果你正在使用 Gemini CLI、Claude Code、Cursor、Codex 或其他运行在终端中的 AI 编程工具,那么你最好更加关注下 Android CLI。因为它可以让 AI 通过结构化的方式接入 Android 开发流程,而不是只能读取代码、执行几条零散的 Shell 命令。

这篇文章会介绍 Android CLI 是什么,同时介绍一些大部分场景下能用到的实用命令。

没错,我知道,大部分开发者一定会说:现在有 AI 了,还需要知道这些吗?

我的回答是:虽然 AI 在执行 CLI 比我们更熟练、更少出错,但了解 CLI 工具如何操作,对于理解自己项目的构建流程、依赖关系、调试方式仍然至关重要。工具链的运作方式本身就是项目知识的一部分------你越清楚自己的项目是怎么跑起来的,就越能和 AI 更好地协作,而不是把所有事情都交给 AI 然后指望它不出错。

换句话说,了解 AI 是如何使用 工具的,对我们也很重要!甚至大部分情况下,我们还需要去指导 AI 如何使用工具。

为什么需要 Android CLI

现代软件开发正在越来越偏向终端。

开发者每天都在使用:

  • Git
  • Docker
  • AI 编程助手
  • CI/CD 流水线
  • 远程开发环境
  • SSH 会话

相比之下,Android 开发在这方面一直有些落后。虽然 Android 本身提供了不少命令行工具,但很多操作仍然需要依赖 Android Studio。

Android CLI 补上了这块缺口。

学会了这个 CLI,我们不必再频繁地在 IDE、浏览器、SDK Manager 和 Device Manager 之间来回切换。很多 Android 相关操作,现在都可以直接在终端中完成。

安装并初始化 Android CLI

安装实际上非常简单:

developer.android.com/tools/agent...

安装 Android CLI 后,首先初始化当前环境:

bash 复制代码
android init

这个命令会完成 Android CLI 的基本准备工作,同时安装供 AI Agent 使用的 Android CLI Skill。

这样一来,支持 Skill 的 AI 编程工具就可以知道 Android CLI 提供了哪些能力,以及应该如何使用这些命令。

创建 Android 项目

使用 Android CLI 创建项目很简单:

bash 复制代码
android create

如果暂时不想真正创建文件,只是想看看这条命令会执行哪些操作,可以使用 --dry-run

bash 复制代码
android create --dry-run

需要查看当前支持的项目模板时,可以执行:

bash 复制代码
android create --list

这样就可以先查看和尝试不同的模板,不必每次都创建一个项目、查看结果,然后再把它删除。

搜索 Android 官方文档

Android CLI 内置的文档搜索,是我比较喜欢的一项功能。

以前遇到问题时,我们通常需要打开浏览器,然后通过 Google 搜索相关资料。现在可以直接在终端中搜索:

bash 复制代码
android docs search "Compose Styles"

第一次运行的时候,该工具会先下载知识库:

之后会找到相关的文档:

找到需要的文档后,再使用返回的 kb:// 地址获取内容:

bash 复制代码
android docs fetch kb://...

开发者可以通过这种方式直接在终端中获取 Android 官方文档,AI Agent 也可以调用相同的命令。

这一点非常厉害。

AI 不必完全依赖模型中已有的 Android 知识,而是可以在执行任务时主动查询官方资料。

当然,对于开发者来讲,在控制台看文档就没有那么友好了:

管理 Android 模拟器

需要启动模拟器时,也不必每次都打开 Android Studio 的 Device Manager。

查看当前可用的模拟器:

bash 复制代码
android emulator list

创建模拟器:

bash 复制代码
android emulator create

启动指定模拟器:

bash 复制代码
android emulator start medium_phone

停止正在运行的模拟器:

bash 复制代码
android emulator stop emulator-5554

这些命令非常适合写入自动化脚本,也很适合没有图形界面的 CI 环境。

快速部署 APK

如果已经有了编译完成的 APK,可以直接通过 Android CLI 将它部署到设备:

bash 复制代码
android run --apks=app-debug.apk

除此之外,还可以:

  • --device,指定目标设备;
  • --activity,启动指定的 Activity;
  • --type=SERVICE,启动后台 Service;
  • --apks=PARAM[,PARAM...]一次部署多个拆分 APK。

在频繁构建和测试应用时,这种方式可以省去不少重复操作。

管理 Android SDK

以前安装或更新 Android SDK,通常需要进入 Android Studio 的 SDK Manager。现在这些操作同样可以通过命令行完成。

查看 SDK 软件包:

bash 复制代码
android sdk list

安装软件包:

bash 复制代码
android sdk install platforms/android-34 build-tools/34.0.0

从官方渠道安装最新版本的 Android SDK Platform 34 和 SDK Build Tools 34.0.0 软件包。

更新软件包:

bash 复制代码
android sdk update

移除软件包:

bash 复制代码
android sdk remove

这样一来,整个 SDK 管理过程都可以写进脚本。

对于自动化构建环境来说,这一点尤其有用。CI 不需要依赖开发者提前在图形界面中配置 SDK,而是可以在脚本中明确声明需要安装哪些组件。

截屏

如果需要为文档或测试报告截取设备画面,可以执行:

bash 复制代码
android screen capture

还可以让 Android CLI 自动标注画面中的 UI 元素:

bash 复制代码
android screen capture --annotate

标注后的界面元素更容易被程序引用,也能帮助 AI Agent 理解屏幕上有哪些控件以及它们大致位于什么位置。

检查当前界面结构

如果想查看当前页面的 UI 层级,可以使用:

bash 复制代码
android layout

将结果格式化后输出:

bash 复制代码
android layout --pretty

也可以将界面层级导出为 JSON 文件:

bash 复制代码
android layout --output hierarchy.json

这个功能可以用于:

  • UI 问题排查;
  • 无障碍功能测试;
  • 自动化操作;
  • 帮助 AI 理解当前界面。

相比只提供一张截图,结构化的界面层级能够向程序和 AI 提供更多信息。

Android Skills

Android CLI 中最值得关注的功能之一,是 Android Skills

Skill 可以为 AI Agent 提供与 Android 相关的知识和工作流程。

查看当前可用的 Skill:

bash 复制代码
android skills list

当前的技能有:

css 复制代码
wear-compose-m3
edge-to-edge
navigation-3
adaptive
android-intent-security
camerax
r8-analyzer
android-cli
testing-setup
perfetto-sql
perfetto-trace-analysis
play-billing-library-version-upgrade
engage-sdk-integration
display-glasses-with-jetpack-compose-glimmer
appfunctions
verified-email
styles
migrate-xml-views-to-jetpack-compose
agp-9-upgrade

这么多。

我最近比较关注的是 styles 和 navigation-3。

搜索 Skill:

bash 复制代码
android skills find performance

安装 Skill:

bash 复制代码
android skills add

安装或更新全部 Skill:

bash 复制代码
android skills add --all

如果只依赖通用模型知识,AI 可能会使用过时的 API,也可能给出不符合 Android 当前最佳实践的实现。

Android Skills 则可以向 Agent 提供更加具体的 Android 开发指导,帮助它按照官方推荐的方式完成任务。

事实上,现在对于 Codieng Agent 而言,使用最新技术可能是个小小的难点。我自己也在用 Codex 这样的 Agent 进行编码,之前在没有用技能的情况下,Styles API 适配的就不是很好,除非你作为开发者本身就能指出问题,他才会去看 Styles API 的源码,然后进行修正,默认情况下的适配工作做的并不好。

与 Android Studio 连接

Android CLI 真正强大的地方,是它可以与正在运行的 Android Studio 直接通信。

首先检查连接状态:

bash 复制代码
android studio check

分析文件中的错误和警告:

bash 复制代码
android studio analyze-file

查找符号声明:

bash 复制代码
android studio find-declaration

查找符号的所有使用位置:

bash 复制代码
android studio find-usages

在 Android Studio 中打开文件:

bash 复制代码
android studio open-file

渲染 Compose Preview:

bash 复制代码
android studio render-compose-preview

查询依赖库版本:

bash 复制代码
android studio version-lookup

以前,这些操作通常需要开发者在 IDE 中手动完成。现在,它们可以通过命令调用,也就意味着脚本和 AI Agent 同样能够使用 Android Studio 的部分能力。

对 AI 意味着什么

Android CLI 让 AI 具备了一些通用 AI 所不具备的能力。

我们可以向 AI 编程助手提出这样的要求:

找出这个 Composable 在项目中的所有使用位置。

或者:

渲染一下这个 Compose Preview。

再比如:

搜索 Navigation Compose 的 Android 官方文档。

以及:

检查项目中的依赖是否已经过期。

以前,AI 可能只能搜索项目文本,或者根据已有知识推测答案。

现在,它可以通过 Android CLI 从项目、Android Studio 和官方文档中获取结构化信息,再根据真实结果回答问题。

这样,主要是为了让 AI 更好的工作:

  • 减少 AI 产生错误信息的概率;
  • 为 AI 提供更加完整的项目上下文;
  • 让 Android 相关的回答更加可靠;
  • 加快开发和调试流程。

迈出第一步

如果刚开始使用 Android CLI,可以先尝试下面这些命令:

bash 复制代码
android docs search
android emulator start
android layout
android run
android studio check
android studio find-usages
android studio render-compose-preview
android skills add

它们都与日常 Android 开发关系比较密切,很快就能体现出 Android CLI 的价值。

Android CLI 还在发展

Android CLI 很像是在为一种新的 Android 开发方式打基础。

随着 AI 逐渐进入开发者的日常工作流,开发工具需要提供的不再只是文档和文本输出,还要提供稳定、清晰、可以被程序调用的结构化能力。

Android CLI 正在做这件事。

它让开发者和 AI Agent 可以通过定义明确的命令与 Android 项目交互,而不是所有操作都依赖开发者在 IDE 中点击完成。

未来,Android Studio、AI 编程助手和终端之间的联系可能会越来越紧密。

一点想法

Android CLI 不只是一个为了方便而推出的命令行工具。

它也是 Android 开发走向 AI 化的重要一步。

无论你是在:

  • 从事专业的 Android 开发;
  • 尝试 AI 编程助手;
  • 编写自动化脚本;
  • 还是希望提高日常开发效率。

Android CLI 都值得花时间了解一下。

终端正在逐渐成为 Android 开发的一等入口,而 Android CLI 正在推动这个过程。

相关推荐
心中有国也有家1 小时前
AtomGit Flutter 鸿蒙客户端:MoodStorage 的 CRUD 集成验证
android·服务器·flutter·华为·harmonyos
solo_992 小时前
Android window属性全解析
android
心中有国也有家2 小时前
AtomGit Flutter 鸿蒙客户端:错误处理与优雅降级策略
android·javascript·flutter·华为·harmonyos
-SOLO-13 小时前
停止gradle命令
android
_祝你今天愉快13 小时前
Android Binder 驱动 - 启动 ServiceManager 进程
android
农村小镇哥13 小时前
ThinkPHP-MVC什么是框架
android
换元不配限14 小时前
Jetpack Compose 状态管理指南
android·状态管理·compose·状态·单向数据流·jetpack compose·状态容器
爱笑鱼16 小时前
JNI(二):Java 里的一个 long,为什么能找到 C++ 对象?
android
爱笑鱼17 小时前
JNI(一):nativePollOnce() 到底去了哪里?
android