Android Studio 中的项目包含定义应用工作区的所有内容,从源代码和素材资源到测试代码和构建配置。
当您启动新项目时,Android Studio 会为所有文件创建必要的结构,并在 Android Studio 的 Project 窗口中显示它们。要打开此窗口,请选择 View > Tool Windows > Project。
本页概述了项目中的主要组件。
模块
模块是源文件和构建设置的集合,可让您将项目划分为离散的功能单元。您的项目可以有一个或多个模块,一个模块可以将另一个模块用作依赖项。您可以独立构建、测试和调试每个模块。请注意,在 Gradle 文档中,模块可能被称为“项目”或“子项目”。
在您自己的项目中创建代码库时,或当您想为不同设备类型(如手机和可穿戴设备)创建不同的代码和资源集,但又希望将所有文件限定在同一项目范围内并共享部分代码时,附加模块会很有用。
要向项目添加新模块,请点击 File > New > New Module。
Android Studio 提供以下几种不同类型的模块
- Android 应用模块
为您的应用源代码、资源文件和应用级设置(例如模块级构建文件和 Android Manifest 文件)提供容器。当您创建新项目时,默认应用模块名为“app”。
Android Studio 提供以下类型的应用模块
- 手机和平板电脑
- 汽车
- Wear OS
- 电视
每个模块都提供基本文件和一些适用于相应应用或设备类型的代码模板。
有关添加模块的更多信息,请阅读为新设备添加模块。
- 功能模块
- 表示您的应用中可利用 Play 功能交付的模块化功能。例如,通过功能模块,您可以按需或通过Google Play 免安装应用为用户提供应用的某些功能,作为即时体验。
Android Studio 提供以下类型的功能模块
- 动态功能模块
- 免安装动态功能库模块
要了解更多信息,请阅读Play 功能交付。
- 库模块
为您的可复用代码提供容器,您可以将其作为依赖项用于其他应用模块,或导入其他项目。从结构上讲,库模块与应用模块相同,但构建时它会创建代码归档文件而不是 APK,因此无法安装到设备上。
在 Create New Module 窗口中,Android Studio 提供以下类型的库模块
- Android Library: 包含 Android 项目中支持的所有文件类型(原生 C++ 代码除外),包括 Java 和 Kotlin 源代码、资源和 manifest 文件。构建结果是一个 Android Archive (AAR) 文件,您可以将其添加为 Android 应用模块的依赖项。
- Android Native Library: 包含 Android 项目中支持的所有文件类型,与 Android Library 类似。但是,Android 原生库也可以包含原生 C++ 源代码。构建结果是一个 Android Archive (AAR) 文件,您可以将其添加为 Android 应用模块的依赖项。
- Java 或 Kotlin Library: 仅包含 Kotlin 或 Java 源文件。构建结果是一个 Java Archive (JAR) 文件,您可以将其添加为 Android 应用模块或其他 Kotlin 或 Java 项目的依赖项。
- 基准测试 > 微基准测试:包含定期测量代码性能和输出基准测试结果所需的文件。微基准测试模块对于测量重复使用的小段代码的性能特别有用。有关更多信息,请参阅关于微基准测试。
当您创建库模块并希望将其作为依赖项添加到 Android 应用模块时,您必须按如下方式声明它
Groovy
dependencies { implementation project(':my-library-module') }
Kotlin
dependencies { implementation(project(":my-library-module")) }
- 测试模块
将您的测试与其余代码分开。您可以配置测试模块以针对特定的构建变体。
Android Studio 提供以下类型的测试模块
项目文件

默认情况下,Android Studio 在 Android 视图中显示您的项目文件。此视图不反映磁盘上的实际文件层次结构。相反,它按模块和文件类型组织,以简化项目关键源文件之间的导航,同时隐藏不常用的一些文件或目录。
Android 视图与磁盘上的结构之间的一些结构差异在于,Android 视图
- 在顶级 Gradle Script 组中显示项目的所有与构建相关的配置文件。
- 当您针对不同的产品风格和构建类型有不同的 manifest 文件时,在模块级组中显示每个模块的所有 manifest 文件。
- 在单个组中显示所有备用资源文件,而不是每个资源限定符在单独的文件夹中显示。例如,您的启动器图标的所有密度版本都并排可见。
在每个 Android 应用模块中,文件显示在以下组中
- manifests
- 包含
AndroidManifest.xml
文件。 - java
- 包含 Kotlin 和 Java 源代码文件,按包名分隔,包括 JUnit 测试代码。
- res
- 包含所有非代码资源,例如 UI 字符串和位图图像,分为相应的子目录。有关可能资源类型的更多信息,请参阅应用资源概览。
Project 视图

要查看项目的实际文件结构,包括 Android 视图中隐藏的所有文件,请从 Project 窗口顶部的菜单中选择 Project。
当您选择 Project 视图时,您可以看到更多文件和目录,包括以下内容
模块名称/
-
build/
- 包含构建输出。
libs/
- 包含私有库。
src/
- 在以下子目录中包含模块的所有代码和资源文件
androidTest/
- 包含在 Android 设备上运行的插桩测试代码。有关更多信息,请参阅在 Android Studio 中测试。
cpp/
- 包含使用 Java 本机接口 (JNI) 的原生 C 或 C++ 代码。有关更多信息,请参阅Android NDK 文档。
main/
- 包含“main”源集文件:所有构建变体共享的 Android 代码和资源(其他构建变体的文件位于同级目录中,例如用于调试构建类型的
src/debug/
)AndroidManifest.xml
- 描述应用程序及其每个组件的性质。有关更多信息,请参阅应用清单概览。
java/
- 如果您的应用同时包含 Kotlin 和 Java 源代码,则包含 Kotlin 或 Java 源代码,或两者兼而有之。
kotlin/
- 仅包含 Kotlin 源代码。
res/
- 包含应用程序资源,例如 drawable 文件和 UI 字符串文件。有关更多信息,请参阅应用资源概览。
assets/
- 包含将按原样编译到 APK 文件中的文件。例如,这是纹理和游戏数据的好位置。您可以使用 URI 以与典型文件系统相同的方式导航此目录,并使用
AssetManager
将文件作为字节流读取。
test/
- 包含在您的主机 JVM 上运行的本地测试的代码。
build.gradle
或build.gradle.kts
(模块)- 这定义了模块特定的构建配置。
build.gradle
是您使用 Groovy 作为构建脚本语言时的正确文件名,如果您使用 Kotlin 脚本,则为build.gradle.kts
。
build.gradle
或build.gradle.kts
(项目)- 这定义了适用于所有模块的构建配置。
build.gradle
是您使用 Groovy 作为构建脚本语言时的正确文件名,如果您使用 Kotlin 脚本,则为build.gradle.kts
。此文件是项目不可或缺的一部分,因此请将其与所有其他源代码一起维护在版本控制中。有关其他构建文件的信息,请参阅配置您的构建。
项目结构设置
要更改 Android Studio 项目的各种设置,请通过点击 File > Project Structure 打开 Project Structure 对话框。它包含以下部分
- Project:设置 Gradle 和 Android Gradle 插件的版本以及仓库位置名称。
- SDK Location:设置项目使用的 JDK、Android SDK 和 Android NDK 的位置。
- Variables:允许您编辑构建脚本中使用的变量。
-
Modules:允许您编辑模块特定的构建配置,包括目标和最小 SDK、应用签名和库依赖项。每个模块的设置页面分为以下选项卡
- Properties:指定用于编译模块的 SDK 和构建工具的版本。
- Signing:指定用于签署您的应用的证书。
-
Dependencies:列出此模块的库、文件和模块依赖项。您可以从此窗格添加、修改和删除依赖项。有关模块依赖项的更多信息,请参阅配置构建变体。
-
Build Variants:允许您为项目配置不同的风格和构建类型。