文章目录
TODO 编译生成的build目录结构
Android Studio新建项目结构分析
1 不同模式项目结构
新建一个Android app项目
1.1 Android模式项目结构
任何一个新建项目都会默认使用Android模式的项目结构,但这并不是项目真实的目录结构,而是被Android转换过的。这种项目结构简单明了。
1.2Project模式项目结构
点击红框Android区域切换到项目结构模式。
2.Project模式项目结构分析
2.1 .gradle 文件夹
.gradle文件夹 是gradle 运行以后生成的缓存文件夹。无需关心,也不要手动去改。
2.2 .idea文件夹
Android studio自动生成运行的项目配置文件,包括代码样式、拼写检查器等。无需关心,也不用手动去改
2.3 app文件夹
默认生成的模块名,项目中的代码、资源都是放置在这个目录下的。
app目录展开
2.3.1 build目录
编译是自动生成的文件。
2.3.2 libs目录
存放用到的第三方Jar包,这个目录下的Jar包会自动添加到构建路径里去。
2.4 src目录
2.4.1androidTest
用来编写Android Test测试用例的,可以对项目进行一些自动化测试。
2.4.2 main/java
存放Java代码的地方
2.4.3 main/res
项目中用到的所有图片、布局、字符串等资源都是存放在这个目录下的。
2.4.3.1 drawable开头
用来存放图片的,drawable-hdpi、draw-xhdpe等文件夹。是为了存放一张不通分辨率的相同的照片,程序在运行的时候,会自动根据当前运行设备分辨率的高低选择哪个文件夹下的图片。
2.4.3.2 mipmap开头
用来存放应用图标的,这么多mimmap开头的文件夹,也是为了能够让程序能够更好的兼容各种设备。
2.4.3.3 value开头文件夹
用来存放颜色、字符串、样式等配置的。
2.4.4 AndroidManifest.xml
Android项目的配置文件,Android四大组件以及应用权限都要在这里注册和声明。
2.4.5 .gitgnore
用于将 app模块内 的指定的目录或文件排除在版本控制之外,作用和外层的.gitgnore相似。
2.4.6 build.grale
模块的构建脚本。具体内容参见 gradle build.gradle解析
2.4.7 proguard-rules.pro
用于指定代码的混淆规则,当代码开发完成后打包成安装包文件,如果不希望代码被别人破解,通常会将代码进行混淆。让破解者难以阅读。
2.5 gradle文件夹
包含了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会根据本地的缓存情况决定是否需要联网下载gradle。
2.6 .gitnore
这个文件是用来将制定的目录或文件排除在版本控制之外。
2.7 build.gradle
项目全局的gradle构建脚本。具体内容参见 gradle build.gradle解析
2.8 gradle.properties
全局的gradle配置文件,在这里配置的gradle的一些属性将会影响到项目中所有的gradle编译脚本。
2.9 gradlew和gradlew.bat
gradlew为Linux下的shell脚本,gradlew.bat是Windows下的批处理文件。gradlew是gradle wrapper的缩写,也就是说它对gradle的命令进行了包装,
windows系统使用方法:
- 进入到gradlew.bat目录
- .\gradlew.bat 任务名
2.10 local.properties
用于指定本机中的Android SDK路径,通常是自动生成
2.11 settings.gradle
这个文件用于指定项目中所有的引入模块,参与到项目构建。