做一个项目,首先要能够看懂项目的结构,大致了解每一块内容是做什么的,从而更好地进行开发。此文章为个人学习Android开发时对所创的简单模板项目结构分析的记录,如有错误,欢迎指正!
-----------------------------------------------华丽的分割线-------------------------------------------------
个人项目结构截图
项目结构解析
-
.gradle和.idea
这两个目录下的文件都是编译器自动生成的,无需手动编辑或太过关心。
-
app
用于存放项目中的主要代码和资源,开发过程中主要也是基于此目录。其中:
-
build
此目录和外层的build目录相似,主要包含一些在编译时自动生成的文件,无需太过关心。
-
libs
用于存放项目使用到的第三方jar包,放在此目录下的jar包会自动被添加到构建路径中。
-
src
app目录的主要文件夹,有相对比较复杂的结构:
其中:
1.androidTest:
用于编写测试用例,可以对项目进行一些自动化测试
2.main包下的java包:
放置所有java代码,包括但不限于各个页面的具体功能设计和实现等相关的文件
3.main下的res包:
res,即resource的缩写,存放项目所用到的图片、布局、字符串等资源,有许多的子文件。其中drawable目录用于存放一些图片,layout目录用于存放一些布局,values目录用于存放一些字符串......
4.main包下的AndroidManifest.xml文件:
包含了app的配置信息,相关的解读可见本人的一篇文章戳我戳我快戳我!
-
.gitignore
用于将app模块内指定的目录或文件排除在版本控制之外,与外层的.gitignore文件作用相似。在使用git进行版本控制时会用到。
-
build.gradle
gradle构建脚本,包含很多与项目构建相关的配置。
-
proguard-rules.pro
用于指定代码的混淆规则。当代码开发完后打包成安装包文件,如果不希望自己的代码被破解,则可以考虑将代码进行混淆,使其难以破解。
-
gradle
包含gradle wrapper的配置文件,使用gradle wrapper会根据本地的缓存情况决定是否需要联网下载gradle,默认不启动。
-
.gitignore
用于将指定的目录或者文件排除在版本控制之外,在使用git进行版本控制时要用到。
-
build.gradle
项目全局的gradle构建脚本,通常不需要修改。
-
gradle.properties
项目全局的gradle配置文件,在此配置的属性将会影响到项目中所有的gradle编译脚本。
-
gradlew
用于在Linux和Mac系统使用命令行执行gradle命令。
-
gradlew.bat
用于在Windows系统使用命令行执行gradle命令。
-
local.properties
用于指定本机的Android SDK路径,通常是自动生成的,在自己修改SDK路径时,需要改动这里的内容如:
sdk.dir=C\:\\Users\\Moyon\\AppData\\Local\\Android\\Sdk
-
settings.gradle
用于指定项目中所有引入的模块,通常自动完成,一般不用手动修改。
-----------------------------------------------华丽的分割线-------------------------------------------------
可以发现,很多文件都是我们在创建项目时,编译器自动生成的,甚至一般不需要我们去手动修改,真正要改动的文件屈指可数......