Android Studio目录结构详细解答

一、目录结构讲解:

因为Project模式下项目的结构没有经过Android Studio的加工,所以更好进行理解,所以我们接下来基于Project模式对项目的目录进行讲解。
Android Studio目录结构详细解答
.gradle和.idea
在这两个目录下放置的都是Android Studio自动生成的文件,所以无需关心,不用编辑。

app
项目中的代码、资源等内容几乎都是放在这个目录之下,后续的开发工作也是在这个目录下进行的。

gradle
这个目录之下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。

gitignore
这个是用来将指定目录或文件排除在版本控制之外的。(其实看到单词—ignore就可以知道了)

build.gradle
这是项目全局的gradle构建脚本,通常其内容是不需要更改的。

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

gradlew和gradlew.bat
是用来在命令行界面中执行gradle文件的。不同的是:gradlew适用于Linux或Mac系统,gradlew.bat是在Windows系统使用。

local.properties
用于指定本机中的Android SDK路径,通常不需要进行修改,除非你挪动了Android SDK路径。

MyDemo.iml
iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件(因为Android Studio是基于IntelliJ IDEA开发的),用于表示这是一个IntelliJ IDEA文件,我们无需修改。

settings.gradle
用于指定项目中所有引进的模块。

二、app目录讲解:

因为后续的开发工作是在app这个目录下进行的,所以我们进一步对他进行讲解。
动态演示:
Android Studio目录结构详细解答
静态演示:
Android Studio目录结构详细解答
build
和外层的build一样,包含了一些编译时自动生成的文件,无需关心。

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

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

java
放置我们所有java代码的地方。

res
内容巨多,你在项目中用到的所有图片、布局、字符串等等资源都要存放在这个目录下。

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

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

gitignore
和外层的gitignore文件类似,也是用来将指定目录或文件排除在版本控制之外的

app.iml
IntelliJ IDEA项目自动生成的文件,不用关心和修改内容。

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

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