Android CLI - Android 工程师实用指南

55 阅读10分钟

一个简洁、以终端为主的介绍,涵盖安装 Android CLI、设置 SDK 包、创建项目、管理模拟器以及从命令行运行 Android 应用。

介绍

Android 开发传统上一直与 Android Studio 紧密相关。对许多 Android 工程师来说,它仍然是主要的 IDE,但现代开发工作流正变得更加分布式:以终端为先的配置、CI 流水线、云开发环境以及 AI 编码代理,如今都已成为日常工程工作的一部分。

Android CLI 为 Android 工程师提供了一个更简洁的命令行界面,用于处理常见的 Android 开发任务。它有助于环境设置、项目创建、SDK 包管理、模拟器工作流程、文档查询,以及将应用部署到设备或模拟器。

本文是一份实用指南。没有冗长的历史介绍,没有夸张宣传。只有命令、它们的作用,以及它们在真实 Android 工程工作流程中的位置。

什么是 Android CLI?

Android CLI 是一个用于 Android 开发的命令行界面。它为常见任务提供了基于终端的入口点,例如:

  • 从模板创建新的 Android 项目
  • 管理 Android SDK 软件包
  • 创建和运行模拟器
  • 检查 Android 项目
  • 在设备或模拟器上运行 APK
  • 从终端访问 Android 文档
  • 为 AI 编码代理准备环境

基本命令是:

android

大多数命令遵循以下结构:

android <command> [options]

例如:

android create
android sdk list
android emulator list
android run

安装 Android CLI

Linux

curl -fsSL https://dl.google.com/android/cli/latest/linux_x86_64/install.sh | bash

这将下载并运行适用于 Linux 的 Android CLI 安装程序。

macOS Apple Silicon

curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash

这将下载并运行适用于 Apple Silicon macOS 的 Android CLI 安装程序。

Windows

curl.exe -fsSL https://dl.google.com/android/cli/latest/windows_x86_64/install.cmd -o "%TEMP%\i.cmd" && "%TEMP%\i.cmd"

这会下载 Windows 安装脚本并执行它。

验证安装

安装完成后,确认 android 命令可用。

Linux / macOS

command -v android

或者:

which android

如果 Android CLI 已正确安装,这应该会返回 android 可执行文件的路径。

检查已安装的版本

android --version

这会打印当前的 Android CLI 版本。

保持 Android CLI 更新

android update

这会将 Android CLI 更新到当前可用的最新版本。

定期运行此命令是一个好习惯,尤其是因为该工具仍然较新,可能会频繁收到改进更新。

检查你的 Android SDK 配置

android info

这显示了 Android CLI 使用的默认 Android SDK 路径。

当你有多个 SDK 安装,或者需要在不同环境(如本地机器、容器、CI 运行器或远程开发环境)之间切换工作时,这个功能非常有用。

你也可以临时使用特定的 SDK 路径:

android --sdk=/path/to/android/sdk sdk list

这将使用位于 /path/to/android/sdk 的 SDK 运行 sdk list 命令。

使用.androidrc 配置 Android CLI

你可以创建一个 .androidrc 文件,以便每次运行 Android CLI 时应用默认标志。

Linux / macOS

~/.androidrc

Windows

%USERPROFILE%\.androidrc

示例配置:

--sdk=/path/to/android/sdk

这会告诉 Android CLI 默认使用指定的 Android SDK 路径。

这在团队协作、容器环境或安装了多个 SDK 版本的机器上工作时非常有用。

从终端获取帮助

android --help

这将显示通用帮助手册。

检查特定命令:

android create --help

这将显示 create 命令的使用详情、选项和参数。

这应该是您在探索 Android CLI 时首先使用的命令之一,因为该工具会随着时间不断演进。

创建新的 Android 项目

在创建项目之前,列出可用的模板。

android create list

这显示了可用于生成的项目模板。

要创建新项目:

android create --output=MyAndroidApp --name=MyAndroidApp empty-activity-agp-9

这个的作用是:

  • android create 初始化一个新的 Android 项目。
  • --output=MyAndroidApp 设置目标文件夹。
  • --name=MyAndroidApp 设置应用程序/项目名称。
  • empty-activity-agp-9 选择项目模板。

您也可以先运行一次模拟运行:

android create --dry-run --verbose empty-activity-agp-9

这个的作用是:

  • --dry-run 模拟创建项目而不写入文件。
  • --verbose 显示更多关于命令将执行的操作的详细信息。

当你想在生成实际项目之前检查模板时,这很有用。

检查现有 Android 项目

android describe --project_dir=/path/to/your/project

这个工具分析一个 Android 项目,并生成关于其结构的元数据。

它可以识别构建目标和输出工件(如 APK 文件)的路径。

这对于需要理解构建输出位置脚本、CI 流水线和 AI 代理特别有用。

如果你已经在项目目录中,可以运行:

android describe

管理 Android SDK 包

列出 SDK 包

android sdk list ".*"

这列出了符合给定模式的已安装和可用的 SDK 软件包。

显示所有包:

android sdk list ".*" --all

显示所有版本:

android sdk list ".*" --all-versions

安装 SDK 包

android sdk install platforms/android-34 build-tools/34.0.0

这个的作用是:

  • 安装 Android SDK 平台 34
  • 安装 Android SDK Build Tools 34.0.0

您还可以安装特定包版本:

android sdk install platforms/android-34@2

要包含 canary 包:

android sdk install --canary system-images/android-35/google_apis/x86_64

更新 SDK 包

android sdk update

此操作将所有 SDK 包更新到最新稳定版本。

要更新特定软件包:

android sdk update build-tools/34.0.0

移除 SDK 包

android sdk remove build-tools/36.1.0

这将从您的本地 SDK 安装中移除指定的 SDK 包。

使用 Android 模拟器

创建虚拟设备

android emulator create

这会使用默认配置创建一个虚拟 Android 设备。

列出可用设备配置文件:

android emulator create --list-profiles

要创建具有特定配置的设备:

android emulator create --profile=medium_phone

列出可用虚拟设备

android emulator list

这列出了您机器上的虚拟设备。

启动模拟器

android emulator start medium_phone

这启动了名为 medium_phone 的虚拟设备。

停止模拟器

android emulator stop emulator-5554

这会停止序列号为 emulator-5554 的模拟器。

通常可以通过以下方式找到模拟器或设备序列号:

adb devices

注意:在撰写本文时,Android CLI 文档中提到 Windows 的 android emulator 命令目前已被禁用。

捕获和检查屏幕

截取屏幕截图

android screen capture --output=ui.png

这会截取连接的设备或模拟器的屏幕截图,并将其保存为 ui.png

捕获带注释的屏幕截图

android screen capture --output=ui.png --annotate

这会捕获屏幕截图,并在检测到的 UI 元素周围添加标签。

当你想要自动化 UI 交互或帮助 AI 代理推理屏幕上的可见元素时,这很有用。

解决 UI 坐标

android screen resolve --screenshot=ui.png --string="input tap #5"

这可以将一个带标签的 UI 元素从注释截图转换为实际的屏幕坐标。

例如,如果标签 #5 映射到坐标 500 1000 ,命令可能会输出:

input tap 500 1000

该输出可用于 adb shell input 风格的自动化。

阅读当前应用布局

android layout --pretty

这将以 JSON 格式返回当前活动 Android 应用的 UI 布局。

有用的选项:

android layout --output=hierarchy.json

这会将布局树保存到文件中。

android layout --diff

这仅返回自上次布局快照以来已更改的 UI 元素。

这对于 UI 自动化、测试工作流程以及基于代理的与 Android 应用的交互很有帮助。

在设备或模拟器上运行 APK

android run --apks=app/build/outputs/apk/debug/app-debug.apk

这将在默认连接的设备或模拟器上安装并运行 APK。

重要提示: android run 不会构建 APK。您必须先使用 Gradle 或其他构建流程来构建 APK。

示例 Gradle 构建命令:

./gradlew assembleDebug

然后运行:

android run --apks=app/build/outputs/apk/debug/app-debug.apk

要部署到特定设备:

android run --apks=app-debug.apk --device=emulator-5554

要在调试模式下运行:

android run --debug --apks=app-debug.apk

要启动特定活动:

android run --apks=app-debug.apk --activity=.MainActivity

直接测试服务:

android run --apks=app-debug.apk --type=SERVICE --activity=.sync.DataSyncService

从 CLI 访问 Android 文档

Android CLI 可以直接从终端搜索和获取 Android 文档。

首先,搜索:

android docs search "How do I improve my app performance?"

这会返回文档结果,包括 kb:// URL。

然后获取一个结果:

android docs fetch kb://android/topic/performance/overview

这将在终端中打印所选的文档内容。

在终端优先的环境中使用时,或者当你希望 AI 编码代理在无需离开命令行的情况下参考官方 Android 知识时,这很有用。

为 AI 代理设置 Android CLI

android init

这通过安装 android-cli 技能来设置您的环境以供代理使用。

Android 技能是指帮助 AI 代理理解 Android 开发模式和最佳实践的一组指令。

你可以列出可用的技能:

android skills list

了解更多详情:

android skills list --long

按主题查找技能:

android skills find "performance"

添加特定技能:

android skills add --agent="gemini" --skill=edge-to-edge

添加所有可用技能:

android skills add --all

删除技能:

android skills remove --agent="gemini" --skill=edge-to-edge

这一部分对于尝试代理开发工作流的工程师来说尤为重要。

一个实用的 Android CLI 工作流

以下是一个将这些命令串联起来的简单工作流。

1. 更新 Android CLI

android update

2. 检查 SDK 路径

android info

3. 安装所需的 SDK 包

android sdk install platforms/android-34 build-tools/34.0.0

4. 创建新项目

android create --output=MyAndroidApp --name=MyAndroidApp empty-activity-agp-9

5. 进入项目目录

cd MyAndroidApp

6. 构建调试 APK

./gradlew assembleDebug

7. 创建或启动模拟器

android emulator create --profile=medium_phone
android emulator start medium_phone

8. 运行 APK

android run --apks=app/build/outputs/apk/debug/app-debug.apk

9. 检查界面

android layout --pretty

10. 捕获屏幕截图

android screen capture --output=ui.png

此工作流程为您提供了一条从设置到运行和检查 Android 应用的终端优先路径。

Android CLI 在专业 Android 开发中的定位

Android CLI 并非 Android Studio 的替代品。Android Studio 在深度调试、性能分析、UI 工具、重构以及日常开发中仍然不可或缺。

Android CLI 在以下场景中更为实用:

  • 可重复的设置命令
  • CI 友好的 Android 工作流
  • 基于终端的开发
  • 云开发环境
  • 适合智能体的项目检查
  • 自动化模拟器和设备任务
  • 更快访问 Android 文档

对于 Android 工程师来说,价值不仅仅在于这些命令的存在。价值在于常见的 Android 工作流程变得更容易脚本化、自动化、文档化,并交给工具处理。

最后的思考

Android CLI 为 Android 工程师提供了一种更结构化的终端工作方式。它将项目创建、SDK 管理、模拟器控制、文档查询、屏幕检查和代理设置整合到一个命令界面下。

对于专业的 Android 团队来说,这可以改善本地工作流、CI 流水线、入职脚本以及 AI 辅助开发环境。

理解它的最佳方式是安装它、运行命令,然后看看它如何融入你现有的 Android 工作流程。

从以下内容开始:

android --help
android update
android info
android create list

然后在此基础上继续构建。