探索 Android Studio

Android Studio 是用于开发 Android 应用的官方集成开发环境 (IDE)。Android Studio 基于 IntelliJ IDEA 强大的代码编辑器和开发者工具,还提供更多可提高 Android 应用构建效率的功能,例如:

  • 基于 Gradle 的灵活构建系统
  • 快速且功能丰富的模拟器
  • 统一的环境(供您开发适用于所有 Android 设备的应用)
  • 通过实时编辑功能实时更新模拟器和实体设备中的可组合项
  • 代码模板和 GitHub 集成,可协助您打造常见的应用功能及导入示例代码
  • 大量的测试工具和框架
  • Lint 工具,能够找出性能、易用性和版本兼容性等方面的问题
  • C++ 和 NDK 支持
  • 内置对 Google Cloud Platform 的支持,可轻松集成 Google Cloud Messaging 和 App Engine

本页面介绍了 Android Studio 的基本功能。如需查看最新变更摘要,请参阅 Android Studio 版本说明

项目结构

图 1. Android 项目视图中的项目文件。

Android Studio 中的每个项目都包含一个或多个内有源代码文件和资源文件的模块。模块的类型包括:

  • Android 应用模块
  • 库模块
  • Google App Engine 模块

默认情况下,Android Studio 会在 Android 项目视图中显示您的项目文件(如图 1 所示)。该视图按模块组织结构,方便您快速访问项目的关键源文件。所有 build 文件都在顶层的 Gradle Scripts 下显示。

每个应用模块都包含以下文件夹:

  • manifests:包含 AndroidManifest.xml 文件。
  • java:包含 Kotlin 和 Java 源代码文件,包括 JUnit 测试代码。
  • res:包含所有非代码资源,例如界面字符串和位图图像。

磁盘上的 Android 项目结构与此扁平表示形式的项目结构有所不同。如需查看项目的实际文件结构,请从 Project 菜单中选择 Project,而非 Android

如需了解详情,请参阅项目概览

Gradle 构建系统

Android Studio 会将 Gradle 用作构建系统的基础,并通过 Android Gradle 插件提供更多面向 Android 的功能。该构建系统可以作为集成工具从 Android Studio 菜单运行,也可从命令行独立运行。您可以利用构建系统的功能执行以下操作:

  • 自定义、配置和扩展构建流程。
  • 使用相同的项目和模块为您的应用创建多个具有不同功能的 APK。
  • 在不同源集中重复使用代码和资源。

利用 Gradle 的灵活性,您可以在不修改应用核心源文件的情况下完成以上所有操作。

如果您使用 Kotlin(推荐),则 Android Studio build 文件名为 build.gradle.kts;如果您使用 Groovy,则名为 build.gradle。它们是使用 Android Gradle 插件提供的元素以 Kotlin 或 Groovy 语法配置 build 的纯文本文件。每个项目都有一个用于整个项目的顶级 build 文件,以及用于各模块的单独模块级 build 文件。在导入现有项目时,Android Studio 会自动生成必要的 build 文件。

如需详细了解构建系统以及如何配置 build,请参阅配置 build

build 变体

构建系统可帮助您从一个项目创建同一应用的不同版本。如果您同时拥有免费版本和付费版本的应用,或想要在 Google Play 上为不同设备配置分发多个 APK,此功能十分实用。

如需详细了解如何配置 build 变体,请参阅配置 build 变体

多 APK 支持

利用多 APK 支持,您可以根据屏幕密度或 ABI 高效创建多个 APK。例如,您可以针对 hdpimdpi 屏幕密度创建单独的应用 APK,同时仍将它们视为一个变体,并允许它们共享测试 APK、javacdx 和 ProGuard 设置。

如需详细了解多 APK 支持,请参阅构建多个 APK

资源缩减

Android Studio 中的资源缩减功能可自动从您的封装应用和库依赖项中移除不使用的资源。例如,如果您的应用正在使用 Google Play 服务访问 Google 云端硬盘功能,且您当前未使用 Google 登录,资源缩减功能可移除 SignInButton 按钮的各种可绘制资产。

注意:资源缩减与代码缩减工具(例如 ProGuard)协同工作。

如需详细了解缩减代码和资源,请参阅缩减、混淆处理和优化应用

管理依赖项

项目的依赖项在模块级构建脚本中按名称指定。Gradle 会查找依赖项,并在 build 中提供这些依赖项。您可以在 build.gradle.kts 文件中声明模块依赖项、远程二进制依赖项以及本地二进制依赖项。

Android Studio 配置项目时默认使用 Maven 中央制品库。该配置包含在项目的顶级 build 文件中。

如需详细了解如何配置依赖项,请参阅添加 build 依赖项

调试和分析工具

Android Studio 可帮助您调试和改进代码的效果,包括内联调试和性能分析工具。

内联调试

使用内联调试功能在调试程序视图中对引用、表达式和变量值进行内联验证,提高代码走查效率。

内联调试信息包括:

  • 内联变量值
  • 会引用某选定对象的对象
  • 方法返回值
  • Lambda 和运算符表达式
  • 提示值

如需启用内联调试,请在 Debug 窗口中点击 Settings 图标 并选中 Show Variable Values in Editor

性能分析器

Android Studio 会提供性能分析器,让您可以更加轻松地跟踪应用的内存和 CPU 使用情况、查找已解除内存分配的对象、查找内存泄漏以及优化图形性能和分析网络请求。

若要使用性能分析器,当应用在设备或模拟器上运行时,请依次前往 View > Tool Windows > Profiler 打开 Android Profiler。

如需详细了解性能分析器,请参阅分析应用性能

堆转储

在 Android Studio 中分析内存使用情况时,您可以同时启动垃圾回收,并将 Java 堆转储为 Android 专有 HPROF 二进制格式文件中的堆快照。HPROF 查看器会显示类、每个类的实例以及引用树,以帮助您跟踪内存用量及找出内存泄露。

如需详细了解如何使用堆转储,请参阅捕获堆转储

内存分析器

您可以使用内存分析器跟踪内存分配情况,并在执行某些操作时监视对象目前的分配位置。了解这些分配情况有助于您相应地调整与这些操作相关的方法调用,从而优化应用的性能和内存使用。

如需详细了解如何跟踪和分析分配情况,请参阅查看内存分配情况

数据文件访问

诸如 SystraceLogcat 等 Android SDK 工具可以生成性能和调试数据,用于对应用进行详细分析。

如需查看已生成的数据文件,请执行以下操作:

  1. 打开“Captures”工具窗口。
  2. 在已生成的文件列表中,双击某个文件即可查看相应数据。
  3. 右键点击任何 HPROF 文件,可将其转换为标准文件。
  4. 调查您的 RAM 使用情况文件格式。

代码检查

在您每次编译程序时,Android Studio 都会自动运行已配置的 lint 及其他 IDE 检查,以帮助您轻松识别和更正代码结构的质量问题。

lint 工具可以检查 Android 项目源文件是否有潜在的错误,以及在正确性、安全性、性能、易用性、无障碍性和国际化方面是否需要优化改进。

图 2. Android Studio 中 lint 检查的结果。

除了 lint 检查,Android Studio 还可以执行 IntelliJ 代码检查和注解验证,以简化您的编码工作流程。

如需了解详情,请参阅使用 lint 检查改进您的代码

Android Studio 中的注解

Android Studio 支持为变量、参数和返回值添加注解,以帮助您捕捉错误,例如 null 指针异常和资源类型冲突。

Android SDK 管理器将 Jetpack Annotations 库纳入 Android 支持仓库中,以供与 Android Studio 结合使用。Android Studio 在代码检查期间会验证已配置的注解。

如需详细了解 Android 注解,请参阅使用注解改进代码检查

日志消息

在使用 Android Studio 构建和运行应用时,您可以在 Logcat 窗口中查看 adb 输出和设备日志消息。

登录您的开发者账号

您可以在 Android Studio 中登录您的开发者账号,以访问需要身份验证的其他工具,例如 Firebase。登录即表示您向这些工具授予查看和管理您在各项 Google 服务中的数据的权限。

在 Android Studio 中打开项目后,您可以登录开发者账号或切换开发者账号,如下所示:

  1. 点击工具栏末尾的个人资料图标

  2. 在显示的窗口中,执行以下任一操作:

    • 如果您尚未登录,请点击 Sign In 并允许 Android Studio 访问列出的服务。
    • 如果您已登录,请点击 Add Account 使用其他 Google 账号登录。

      或者,您也可以点击 Sign Out 并重复之前的步骤登录其他账号。