AndroidStudioProject 模式下的项目结构。

.gradle 和 .idea。
主要放置的都是 Android studio 自动生成的一些文件。

app。
项目的代码资源等内容都在这个目录。

gradle。
包含 gradle wrapper 的配置文件。

.gitignore。
用来将指定的目录或文件排除在版本控制之外的。

build.gradle。
这是项目全局的 gradle 构建脚本。

gradle.properties。
这个文件是全局的 gradle 的配置文件,在这里配置的属性将会影响到项目中所有的 gradle 编译脚本。

gradlew 和 gradlew.bat。
这两个文件是用来在令行接口中执行 gradle 命令的,其中 gradlew 是在 linux 和 mac 系统中使用,而 gradlew.bat 是在 windows 系统中使用。

local.properties。
用来指定本地的 Android sdk 路径,通常内容都是自动生成,我们并不需要修改。

settings.gradle。
用于指定项目中所有引入的模块。 通常情况下模块的引入都是自动完成的,需要我们手动去修改的这个文件的场景可能比较少。

.iml。
.iml 文件是所有 IntelliJ IDEA 项目都会自动生成的一个文件,用于标识这是一个 IntelliJ IDEA 项目,我们不需要修改这个文件中的任何内容。

App 目录下的结构。

build。
主要是包含了一些在编译中自动生成的文件。

libs。
如果你的项目中使用了第三方 jar 包,就需要把这些 jar 包都放在 libs 目录下,放在这个目录下的 jar 包都会被自动添加到构建路径里去。

androidTest。
用来编写 Android Test 测试用例的,可以对项目进行一些自动化测试。

java。
放置 java 代码的地方。

res。
为 resource 的缩写,项目所需的 UI 相关文件,也就是非程序的资源,如 layout、图像与文字。

AndroidManifest.xml。
整个 Android 项目的配置文件,在程序中自定义的所有四大组建都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。

test。
用来编写 Unit Test 测试用例的,是对项目进行自动化测试的另一种方式。

.gitignore。
用于指定的目录或文档排除在版本控制之外的.

build.gradle。
这首 app 模块的 gradle 构建脚本,这个文件中会指定很多项目构建相关的配置。

proguard-rules.pro。
这个文件用于指定项目代码的混淆规则,当代码开发完成后打开安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。