Android Studio 项目

本节课程主要介绍 Android Studio 项目的概念及项目相关操作。什么是 Android Studio 项目?项目模块的概念是什么? Android Studio 项目的目录结构是怎样的?如何新建一个项目,项目常用配置有哪些?

1. 什么是 Android Studio 项目?

Android Studio 中的项目包含应用开发所有内容,包括源代码和资源文件以及测试代码和构建配置。当你开始一个新项目时,Android Studio 会为你的项目创建所需的所有文件结构,每个项目包含一个或多个模块 Android Studio 不使用工作区的概念,因此各个项目在单独的 Android Studio 窗口中打开。

既然一个项目包含一个或多个模块,那我们就先了解下项目模块是什么?

2. 项目模块

模块是源文件和编译设置的集合,可让你将项目划分为独立的功能单元。你的项目可以包含一个或多个模块,一个模块可以将另一个模块作为依赖项,每个模块都可以单独编译、测试和调试。

在以下情况下添加更多模块通常会非常有用:

  • 你的项目中需要创建代码库时,一个模块就相当于一个库;
  • 你希望为不同设备类型(例如手机和穿戴式设备)创建不同的代码和资源集,但所有文件都限定在同一个项目中并共享一些代码时,一个模块就相当于一种设备类型。

下图的项目中包含了两个项目模块:app 和 mylibrary:

  • app 是一个 Android 应用模块;
  • mylibrary 是一个库模块。

2.1 Android 应用模块

Android 应用模块为应用的源代码、资源文件和应用级设置(例如模块级构建文件和 Android 清单文件)提供容器。当你创建新项目时,默认的模块名称是“app”。

Create New Module 窗口中,Android Studio 提供了以下类型的应用模块:

  • 手机和平板电脑模块;
  • Wear OS 模块;
  • Android TV 模块;
  • Automotive 模块。

Tips:其中每个模块都提供适合相应应用或设备类型的基本文件和一些代码模板

2.2 库模块

库模块为可重用代码提供容器,你可以将其作为依赖项用在其他应用模块中或将其导入其他项目中。从结构上讲,库模块与应用模块相同,但在编译时,前者会创建代码归档文件而不是 APK,因此它无法安装在设备上。

Create New Module 窗口中,Android Studio 提供了以下库模块:

  • Android 库:这种类型的库可以包含 Android 项目中支持的所有文件类型,包括源代码、资源和清单文件。编译结果是一个 Android ARchive (AAR) 文件,你可以将其添加为 Android 应用模块的依赖项。

  • Java 库:这种类型的库只能包含 Java 源文件。编译结果是一个 Java 归档 (JAR) 文件,你可以将其添加为 Android 应用模块或其他 Java 项目的依赖项。

项目和模块的概念都介绍了,那一个项目和一个模块中的目录结构是怎样的呢?各个文件夹又分别是什么作用的呢?

3. 项目结构

在 Android Studio 中浏览项目时有多种视图,包括 Android 视图、Project 视图、Package 视图、Problems 视图等。

Tips:其中最常用的是 Android 视图和 Project 视图。

3.1 Android 视图

默认情况下,Android Studio 会在 Android 视图中显示你的项目文件。此视图并不能反映磁盘上的实际文件层次结构,而是按模块和文件类型进行整理,以简化项目的关键源文件之间的导航方式,并隐藏某些不常用的文件或目录。与磁盘上的结构相比,一些结构变化包括以下方面:

  • 在顶级 Gradle Script 组中显示相应项目的所有与编译相关的配置文件;
  • 在模块级组中显示每个模块的所有清单文件(当你针对不同的产品类型和编译类型使用不同的清单文件时);
  • 在一个组(而非在每个资源限定符的单独文件夹)中显示所有备用资源文件。例如,你的启动器图标的所有密度版本都可以并排显示。

在 Android 视图下的项目结构如下:

  • manifests:包含 AndroidManifest.xml 文件;
  • java:包含 Java 源代码文件(以软件包名称分隔各文件,包括 JUnit 测试代码);
  • res:包含所有非代码资源(例如 XML 布局、界面字符串和位图图像),这些资源划分到相应的子目录中。

3.2 Project 视图

要查看项目的实际文件结构(包括在 Android 视图中隐藏的所有文件),就需要使用 Project 视图。
在 Project 视图下的项目结构如下:

  • build:包含构建输出;
  • libs:包含专用库;
  • src:包含相应模块在以下子目录中的所有代码和资源文件;
  • androidTest:包含在 Android 设备上运行的插桩测试的代码。如需了解详情,请参阅 Android 测试文档;
  • main:包含“主”源集文件:所有构建变体共享的 Android 代码和资源;
  • AndroidManifest.xml:描述应用及其各个组件的性质;
  • java:包含 Java 代码来源;
  • res:包含应用资源,例如可绘制对象文件、布局文件和界面字符串。详情请参阅应用资源;
  • test:包含在主机 JVM 上运行的本地测试代码;
  • build.gradle(模块):这定义了特定于模块的构建配置;
  • build.gradle(项目):这定义了适用于所有模块的构建配置。

了解了项目的结构之后,我们可以动手尝试新建一个 Android 项目了。

4. 新建项目

利用 Android Studio,你可以轻松地为各种类型的设备(例如手机、平板电脑、电视和可穿戴设备)创建 Android 应用。

如果你未打开项目,Android Studio 会显示欢迎屏幕,你可在其中点击 Start a new Android Studio project 创建新项目。

如果你已打开项目,则可以从主菜单中依次选择 File > New > New Project 开始创建新项目。

系统会显示 Create New Project 向导,该向导可让你选择要创建的项目类型,然后填充代码和资源帮助你开始创建项目。

打开 Create New Project 向导后只需两步即可完成项目创建:选择项目类型、配置项目。

4.1 选择项目类型

在向导的 Choose your project 屏幕顶部,显示了各种设备类型对应的项目类别选项卡,你可以从中选择要创建的项目类型。

Tips:上图的选择会为所选的手机和平板电脑创建基本的 Android Activity。在你选择要创建的项目类型后,Android Studio 会填充示例代码和资源,以帮助你开始创建项目。

选择后,点击 Next

4.2 配置项目

下一步就是配置一些设置并创建新项目。

主要的配置有如下这些:

  1. 指定项目名称;
  2. 指定软件包名称。默认情况下,此软件包名称也会成为你的应用 ID。此名称以后可以更改;
  3. 指定项目的本地保存位置;
  4. 选择你希望 Android Studio 在为新项目创建示例代码时使用的语言;
  5. 选择你希望应用支持的最低 API 级别。当你选择较低的 API 级别时,你的应用可以依赖的现代 Android API 会更少,但能够运行应用的 Android 设备的比例会更大。当选择较高的 API 级别时,情况正好相反;
  6. 如果你选择的项目类型通过 Google Play 免安装体验支持免安装体验,并且你希望为该应用启用这种体验,请选中 This project will support instant apps 旁边的复选框;
  7. 如果你希望项目默认使用 AndroidX 库,请选中 Use AndroidX artifacts 旁边的复选框。AndroidX 库是 Android 支持库的改进替换;
  8. 准备好创建项目后,点击 Finish

至此,我们新建完成了一个 Android 项目。

5. 小结

本节课程介绍了 Android 项目和模块的概念,希望大家能熟悉项目的目录结构,并且能够独自新建一个 Android 项目。