Android项目目标结构说明
通过Android Studio创建的Android项目,都有固定的目录结构。
一、项目根目录结构及说明
如下图所示:
.gradle
和.idea
这两个目录下都是Android Studio自动生成的一些文件,不用关心,当然也不要去手动编辑。app
项目代码、资源等内容几乎都是在这个目录下,我们的开发也基本都是在这个目录下进行。我们会在本会的第二部分还会对该目录下的内容单独说明。gradle
这个目录下包含了gradle wrapper
的配置文件,使用gradle wrapper
的方式不需要提前将gradle
下载好,而是自动根据本地缓存情况来确定是否需要联网下载gradle
。Android Studio默认没有启用gradle wrapper
的方式,如果需要打开,可以点击Android Studio导航栏→File→Settings→Build,Execution,Deployment→Gradle,进行配置修改。.gitignore
这个文件是用来指定目录或文件排除在git版本控制之外的。build.gradle
项目全局的gradle
的构建脚本,通常该文件的内容不需要修改。gradle.properties
项目全局的gradle
配置文件,在这里配置的属性将会影响到项目中所有gradle
编译脚本。gradlew
和gradlew.bat
这两个文件是用在命令行界面中执行gradle
命令的。(gradlew
:是Linux或Mac系统中使用;gradlew.bat
:是Windows系统中使用的。)local.properties
用于指定本机中的Android SDK路径,通过内容都是自动生成的,我们不需要修改。除非本机中的Android SDK位置发生了变化,可以在这个文件中的路径改为新的位置即可。settings.gradle
这个文件指定项目中所有引入的模块。默认新创建的项目只有一个模块,一次该文件仅引入了app
这个模块。通常情况下模块引入都是自动完成的,不需要我们手动去修改这个文件。
二、项目模块目录结构及说明
如下图示:
build
这个目录主要包含了一些在编译时自动生成的文件,一般我们不要关心。libs
如果项目中需要使用第三方jar包,就需要将这些jar包都放在这个目录。放在这个目录下的jar包都会被自动添加到构建路径里。src/androidTest
用来编写AndroidTest测试用例的,可以对项目进行一些自动化测试。src/main/java
这个目录是放置我们所有Java
代码的地方。src/main/res
这个目录下的内容比较多。项目中用到的所有图片、布局、字符串等资源都放在这个目录下。这个目录下还有很多子目录,图片放在drawable目录下,布局放在layout目录下,字符串放在values目录下。src/main/AndroidManifest.xml
整个Android项目的配置文件,程序中定义的所有四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用添加权限申明。src/test
该目录用来编写Unit Test测试用例的。gitignore
这个文件用于将app模块内指定的目录或文件排除在版本控制之外,作用域上层目录的.gitignore
类似。app.iml
IDE自动生成的文件。build.gradle
是app模块的gradle构建脚本,这个文件会指定很多项目构建相关的配置。proguard-rules.pro
这个文件用于指定项目代码的混淆规则。如果不希望代码被别人破解,通常会将代码进行混淆。