模块
模块是源文件和构建设置的集合,允许您将项目分成不同的功能单元。您的项目可以包含一个或多个模块,并且一个模块可以将其他模块用作依赖项。每个模块都可以独立构建、测试和调试
如果在自己的项目中创建代码库或者希望为不同的设备类型(例如电话和穿戴式设备)创建不同的代码和资源组,但保留相同项目内的所有文件并共享某些代码,那么增加模块数量将非常有用。 您可以点击 File > New > New Module,向您的项目中添加新模块。
File > New > New Module,向您的项目中添加新模块
Android Studio 提供了几种不同类型的模块:
1.Android 应用模块
2.库模块
为您的可重用代码提供容器,您可以将其用作其他应用模块的依赖项或者导入到其他项目中。库模块在结构上与应用模块相同,但在构建时,它将创建一个代码归档文件而不是 APK,因此无法安装到设备上。 在 Create New Module 窗口中,Android Studio 提供了以下库模块: •Android 库:这种类型的库可以包含 Android 项目中支持的所有文件类型,包括源代码、资源和清单文件。构建结果是一个 Android 归档 (AAR) 文件,您可以将其作为 Android 应用模块的依赖项添加。 •Java 库:此类型的库只能包含 Java 源文件。构建结果是一个 Java 归档 (JAR) 文件,您可以将其作为 Andriod 应用模块或其他 Java 项目的依赖项添加。
3.Google Cloud 模块
为您的 Google Cloud 后端代码提供容器。此模块可以为使用简单 HTTP、Cloud Endpoints 和云消息传递连接到您的应用的 Java App 引擎后端添加所需的代码和依赖项。您可以开发您的后端,提供应用所需的云服务。 利用 Android Studio 创建和开发您的 Google Cloud 模块,您可以在同一个项目中管理应用代码和后端代码。您也可以在本地运行和测试后端代码,并使用 Android Studio 部署 Google Cloud 模块。
一些人也将模块称为子项目,完全没有问题,因为 Gradle 也将模块称为项目。例如,在创建库模块并且希望以依赖项的形式将其添加到您的 Android 应用模块时,您必须按如下所示进行声明:
dependencies { compile project(':my-library-module') }
项目文件
src/
包含模块的所有代码和资源文件,分为以下子目录:
androidTest/ 包含在 Android 设备上运行的仪器测试的代码。
main/ 包含“主”源集文件:所有构建变体共享的 Android 代码和资源(其他构建变体的文件位于同级目录中,例如调试构建类型的文件位于 src/debug/ 中)。
AndroidManifest.xml说明应用及其每个组件的性质。如需了解详细信息,请参阅 AndroidManifest.xml 文档。java/ 包含 Java 代码源。
jni/包含使用 Java 原生接口 (JNI) 的原生代码。如需了解详细信息,请参阅 Android NDK 文档。
gen/包含 Android Studio 生成的 Java 文件,例如您的 R.java 文件以及从 AIDL 文件创建的接口。
res/包含应用资源,例如可绘制对象文件、布局文件和 UI 字符串。如需了解详细信息,请参阅应用资源
assets/ 包含应原封不动地编译到 .apk 文件中的文件。您可以使用 URI 像浏览典型文件系统一样浏览此目录,以及使用 AssetManager 以字节流形式读取文件。例如,此位置非常适合纹理和游戏数据。
test/ 包含在您的主机 JVM 上运行的本地测试的代码。
build.gradle(模块)定义模块特定的构建配置。
build.gradle(项目)定义适用于所有模块的构建配置。此文件已集成到项目中,因此您应当在所有其他源代码的修订控制中保留这个文件。