Android基础知识(一):项目结构
Android的项目结构如下图所示。
一、项目结构
- .gradle、.idea和app
.gradle和.idea这两个目录下放置的都是Android Studio自动生成的文件。
项目中的代码、资源等内容几乎都是放置在这个app目录下(若有其他的module,则module下也会放置代码和资源)。 - build、gradle和.gitignore
build目录下主要包含了一些在编译时自动生成的文件。
gradle目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。
.gitignore文件是用来将指定的目录或文件排除在版本控制之外的。 - build.gradle、gradle.properties
build.gradle是项目全局的gradle构建脚本。
gradle.properties文件是全局的gradle配置文件,在这里配置的属性将会影响到项目中所有的gradle编译脚本。 - gradlew、gradlew.bat和BaseReview.iml
gradlew和gradlew.bat这个两个文件是用来在命令行界面中执行gradle命令的,其中gradlew是在Linux或Mac系统中使用,gradlew.bat是在Windows系统中使用的。
BaseReview.iml——iml文件是所有IntelliJ IDEA项目都会自动生成的一个文件,用于标识这是一个IntelliJ IDEA项目。 - local.properties和settings.gradle
local.properties文件用于指定本机中的Android SDK路径。
Settings.gradle用于指定项目中所有引入的模块。
二、app目录
app目录结构如下图所示。
- build、libs和androidTest
build主要包含了一些在编译时自动生成的文件,相比于外层的build更复杂。
libs目录用于放置项目中使用到的第三方jar包,放置到该目录下的jar包都会被自动添加到构建路径里去。
androidTest用来编写Android Test测试用例的,可以对项目进行一些自动化测试。 - AndroidManifest.xml
整个Android项目的配置文件,在程序中定义的四大组件都需要在这个文件中注册,还可以在这文件中给应用程序添加权限声明。 - test、.gitignore
test用来编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。
.gitignore文件用于讲app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。 - build.gradle和proguard-rules.pro
build.gradle是app模块gradle构建脚本,这个文件中会指定很多项目构建相关的配置。
proguard-rules.pro文件用于指定项目代码的混淆规则,当代码开发完成后打成按转包文件,如果不希望代码被别人破解,通常会将代码进行混淆,从而让破解者难以阅读。 - res
res目录是项目中资源的存放出,如图所示,其中drawable开头的文件夹用于存放图片,mipmap开头的文件夹用于存放应用图标,values开头的文件夹都是用来存放字符串、样式、颜色等配置的,layout文件夹用于存放布局文件。
参考资料:《第一行代码 Android 第2版》