Android 工程目录详解

在开始开发 Android 应用程序之前,我们需要了解 Android 工程目录的结构和每个目录的作用。这将帮助开发人员更好地组织和管理项目代码,并理解各个部分之间的关系。

Android 工程目录结构如下:

├── app
│   ├── build.gradle
│   ├── libs
│   ├── src
│   │   ├── main
│   │   │   ├── AndroidManifest.xml
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │       └── example
│   │   │   │           └── myapp
│   │   │   │               └── MainActivity.java
│   │   │   └── res
│   │   │       ├── drawable
│   │   │       ├── layout
│   │   │       ├── mipmap
│   │   │       ├── values
│   │   │       └── ...
│   │   ├── test
│   │   │   ├── java
│   │   │   │   └── com
│   │   │   │       └── example
│   │   │   │           └── myapp
│   │   │   │               └── ExampleUnitTest.java
│   │   │   └── ...
│   │   └── androidTest
│   │       ├── java
│   │       │   └── com
│   │       │       └── example
│   │       │           └── myapp
│   │       │               └── ExampleInstrumentedTest.java
│   │       └── ...
│   └── ...
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
└── settings.gradle

现在我们来详细介绍每个目录及其作用。

  1. app 目录

    app 目录是 Android 项目的核心目录,它包含了应用程序的主要代码、资源和配置文件。在这个目录下,有几个重要的文件和文件夹。

    • build.gradle:这是应用程序的构建脚本文件,Android 工程的编译、构建和依赖管理都在这里配置。可以在这个文件中添加第三方库的依赖,配置应用程序的版本号等。

    • libs:这个目录用于存放第三方库的 JAR 文件,如果需要使用任何外部库,可以将它们放在这个目录中。Gradle 构建系统会自动将这些库添加到项目的 classpath 中。

    • src:这个目录用于存放应用程序的源代码和资源文件。

  2. src 目录

    src 目录是项目的主要代码和资源文件的根目录。

    • main:这个目录包含了应用程序的主要源代码和资源文件。

      • AndroidManifest.xml:这个文件是 Android 应用程序的清单文件,用于声明应用程序的权限、组件和其他相关信息。

      • java:这个目录用于存放应用程序的 Java 源代码。默认情况下,它的包名与 AndroidManifest.xml 中的 package 属性相同。

      • res:这个目录用于存放应用程序的资源文件,例如布局文件、图片、字符串等。

    • test:这个目录用于存放单元测试相关的代码和资源文件。

    • androidTest:这个目录用于存放 Android 设备测试相关的代码和资源文件。

  3. build.gradle 文件

    build.gradle 文件是 Android 项目的总体构建脚本,它包含了整个项目的构建配置。通过修改这个文件,可以配置项目使用的构建工具、依赖关系、编译选项和构建类型等。

  4. gradle 目录

    gradle 目录包含了 Gradle 构建工具的配置文件。

    • wrapper:这个目录用于存放 Gradle 包装器的配置文件,包括 gradle-wrapper.jargradle-wrapper.properties
  5. settings.gradle 文件

    settings.gradle 文件用于配置项目的模块和依赖关系。

现在我们来看一个实