【摘要】有一次 Android Studio 重装,再打开以前的项目,结果一大堆错误,很大的原因来自多 Android Studio 中项目文件的不熟悉,不清楚是干嘛的,所以今天理一下,只做一个粗略的了解。
0、目录结构
这是项目视图下看到的项目文件目录,跟文件的实际存储位置一致。
备注:在 Android Studio 中一个项目(Project)可以有多个模块(Module),比如本例的 Hqfwzx 就是一个模块(Module)。我们看到的 .gradle, .idea, app, gradle 都是 Hqfwzx 这个模块(Module)持有的。
1) .gradle 文件夹包含的是 gradle 工具的各个版本。
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。——来自“百度百科”
平时我们构建代码使用的是哪个版本呢?可以在 gradle\wrapper\gradle-wrapper.properties 文件中查看,并且可以修改。可能大家遇到这样的情况:把别人的项目拷过来用,发现打开的时候在下载东西,而且下载很久都还没结束。原因就是别人的项目指定了 gradle 版本(如下图),但是在你的电脑上没有,所以 Android Studio 会自动下载。你也可以在打开之前修改这个项目的 gradle 版本,修改成你本地电脑有的(如果兼容的话),这样就可以直接打开了。
2) .idea 文件夹包含了开发所需的各种环境。
IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。——来自“百度百科”
3) app 文件夹包含了我们要开发的 app 的所有。
在这个 app 文件夹目录下同样有一个 build.gradle 文件,这个文件的设置只对本 app 有效,而上一层目录下的 build.gradle 对本项目有效。平时我们需要引用别人的开源库,就是在这里面添加的。
4) gradle 文件夹包含了 gradle 工具的打包。 wrapper 的意思就是“包装、打包”。这个目录的意义是:把项目拷贝给别人时,别人电脑上可能根本没有安装 gradle 工具,为了能够使用本项目,可以使用项目中打包好的 gradle 工具。具体没有了解过。
5) .gitignore 文件,从字面意思上是 git ignore,具体作用没有了解,因为平时从来没有接触到该文件。
6) build.gradle (主目录下的)文件是最顶层的构建文件,这里配置所有模块通用的配置信息。注意与 模块下的 build.gradle 文件区分。
7) gradle.properties 文件, gradle 的相关配置。
8) gradlew 文件
9) gradlew.bat 是 windows 下的批处理文件。
10) hqfwzx.iml 文件保存这个模块的相关信息,格式是 xml 。
11) local.properties 文件保存 Android SDK 所在的路径。
12) setting.gradle 文件在初始化过程中被执行,一个 Gradle 构建通常包括三个阶段:初始化,配置,和执行。
参考:
英语能力好的同学尽量阅读英文原版文档吧,因为原版文档原理解释的非常清楚。你去看别人的博客,已经是经过别人理解后的结果,可能会有些误差。但我看着这满屏的英文时,阅读效率很低,光理解某个词就要花不少时间。
参考:
2、Android Studio中的Project和Module是个什么鬼?
3、android studio使用教程(六) project和module gradle脚本查看
4、Gradle for Android 系列:初识 Gradle 文件