1.2 Android 项目概览

1 简介

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

  • 基于 Gradle 的灵活构建系统。
  • 快速且功能丰富的模拟器。
  • 统一的环境(适用于所有 Android 设备的应用)。
  • C++ 和 NDK 支持。

2 项目概览

2.1 模块

  Android Studio 中的每个项目都包含一个或多个内有源代码文件、资源文件和 build 配置的模块。模块是源文件和构建设置的集合,可以将项目划分为独立的功能单元。一个项目可以包含一个或多个模块,一个模块可以将另一个模块作为依赖项。可以独立构建、测试和调试每个模块。

  在以下情况下可以添加其它模块:在自己的项目中创建代码库时;或者希望为不同类型的设备创建不同的代码和资源集,但将所有文件都限定在同一个项目中并共享一些代码时。

  在 Android Studio 中依次点击File -> New -> New Module来添加新模块。模块的类型包括:

2.1.1 Android 应用模块

  此类模块为应用的源代码、资源文件和应用级设置(例如模块级 build 文件和 Android 清单文件)提供容器。当创建新项目时,默认应用模块会命名为app。Android Studio 提供了以下类型的应用模块:(1)手机和平板电脑;(2)Automotive;(3)Wear OS;(4)电视;(5)基准配置文件生成器;(6)基准。

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

2.1.2 功能模块

  此类模块表示应用中可利用 Play Feature Delivery 的模块化功能。例如,借助功能模块,可以按需为用户提供应用的某些功能,或通过 Google Play 免安装体验技术以免安装形式为用户提供应用的某些功能。

  Android Studio 提供了以下类型的功能模块:(1)动态功能模块;(2)即时动态功能库模块。

2.1.3 库模块

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

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

  • Android 库:包含 Android 项目中支持的所有文件类型(原生 C++ 代码除外),包括 Java 和 Kotlin 源代码、资源和清单文件。构建结果是一个 Android ARchive (AAR) 文件,您可以将其添加为 Android 应用模块的依赖项。
  • Android 原生库:与 Android 库类似,包含 Android 项目中支持的所有文件类型。不过,Android 原生库还可以包含原生 C++ 源代码。构建结果是一个 Android ARchive (AAR) 文件,您可以将其添加为 Android 应用模块的依赖项。
  • Java 或 Kotlin 库:仅包含 Kotlin 或 Java 源文件。构建结果是一个 Java Archive (JAR) 文件,您可以将其添加为 Android 应用模块或其它 Kotlin 或 Java 项目的依赖项。

  模块有时也称为子项目,因为 Gradle 也将模块称为项目。当创建库模块并想将它作为依赖项添加到 Android 应用模块中时,必须按如下方式声明它:

  • Groovy
dependencies {
	implementation project(':my-library-module')
}
  • Kotlin
dependencies {
	implementation(project(":my-library-module"))
}

2.2 项目文件

  当创建新项目时,Android Studio 会为所有文件创建必要的结构。默认情况下,Android Studio 会在 Android 项目视图中显示您的项目文件(如图 1 所示)。该视图按模块组织结构,方便您快速访问项目的关键源文件。此视图并未反映磁盘上的实际文件层次结构,它按模块和文件类型进行整理,以简化项目的关键源文件之间的导航,并隐藏某些不常用的文件或目录。所有 build 文件都在顶层的 Gradle Scripts 下显示。

在这里插入图片描述
图 1: Android 项目视图中的项目文件。

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

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

注意:不同的模块类型具有不同的组结构。例如,原生模块在main组内还包含cpp/文件夹,而 Kotlin 或 Java 库不包含manifestsres组。

2.2.1 Project视图

  如需查看项目的实际文件结构(包括在 Android 视图中隐藏的所有文件),请从 Project 菜单中选择 Project,而非 Android。Project 视图包括:

  • module-name/
    • build/:包含构建输出
    • libs/:包含专用库
    • src/:包含相应模块在以下子目录中的所有代码和资源文件
      • androidTest/:包含在 Android 设备上运行的插桩测试的代码
      • cpp/:包含使用 Java 原生接口(JNI)的原生 C/C++ 代码
      • main/:包含“主”源代码集文件:所有 build 变体共享的 Android 代码和资源
        • AndroidManifest.xml:描述应用及其各个组件的性质。
        • java/:如果您的应用包含 Kotlin 和 Java 源代码,则该目录会包含 Kotlin 或 Java 源代码。
        • kotlin/:仅包含 Kotlin 源代码。
        • res/:包含应用资源,例如可绘制对象文件和界面字符串。
        • assets/:包含要按原样编译为 APK 文件的文件。例如,此目录非常适合存储纹理和游戏数据。
      • test/:包含在主机 JVM 上运行的本地测试代码。
    • build.gradlebuild.gradle.kts(模块):此文件定义了特定于模块的 build 配置。
  • build.gradlebuild.gradle.kts(项目):此文件定义了适用于所有模块的 build 配置。该文件是项目不可或缺的一部分。

2.3 项目结构设置

  如需更改 Android Studio 项目的各种设置,请依次点击File -> Project Structure,打开Project Structure对话框。该对话框包含以下各部分:

  • Project:设置 Gradle 和 Android Gradle 插件的版本以及代码库位置名称。
  • SDK Location:设置项目使用的 JDK、Android SDK 和 Android NDK 的位置。
  • Variables:可修改 build 脚本中使用的变量。
  • Modules:可修改特定于模块的 build 配置,包括目标和最低 SDK、应用签名以及库依赖项。每个模块的设置页面都分成以下标签页:
    • Properties:指定编译模块所用的 SDK 和构建工具的版本。
    • Signing:指定用于为应用签名的证书。
  • Dependencies:列出该模块的库、文件和模块依赖项。您可以在此窗口中添加、修改和删除依赖项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值