Android项目的目录结构分析
用Android Studio新建好一个Hello World项目之后,好奇的把项目展开之后就.......一面懵逼了。什么鬼这是和Java的项目结构不太一样啊。好多不认识也不知道是干啥的文件有木有?
其实这种结构是经过Android Studio转换过的一直简洁明了的结构,也是默认的Android模式的项目结构。真实的项目结构可以通过点击 Android 切换到 Project模式进行查看
切换好之后的项目结构就是这样子的了
下面讲下每个文件是干什么的,这样就不懵逼了
.gradle:这是一个文件夹里面放的是一些Android Studio自动生成的文件,一般是Android Studio的缓存信息之类的,我们可以不用管他。
.idea:这个也是Android Studio自动生成的文件,里面主要是存放项目的配置信息,包括历史记录,版本控制信息等。其实也可以不用理它。
app:这个文件夹里放的是项目的代码和资源等,项目的开发也是基于这个文件夹,后面再对这个文件夹仔细的讲一下。
gradle:gradle文件夹下面放的是一个wrapper文件夹里面是gradle wrapper的配置文件。这东西有点像Maven,而gradle wrapper可以简化gradle的安装和部署。
.gitignore:就是配置哪些文件不进行版本控制。在项目提交时有很多本地文件是不需要提交的,这是我们这里在这个文件里配置。
build.gradle:项目全局的gradle构建脚本。
gradle.properties:项目全局的gradle的配置文件,这个文件里的属性会影响项目中所有的gradle的编译脚本。
gradlew和gradlew.bat:这两个都是用来在命令窗口执行gradle命令的脚本文件,前者适合在Linux或Mac下使用,后者自然是windows下的了
.iml:标识这是一个 IntelliJ IDEA 创建的项目
local.properties:这个文件里面是配置Android SDK的位置信息的,如果Android SDK的位置发生改变,可以在这个文件中修改。
setting..gradle:这个文件是用来配置项目中所有引入的模块的,一般是自动生成,无需改动。
以上就是Android 项目结构中,外层目录的一些介绍,下面我们看下app这个工作经常使用的目录下的结构吧
这个目录可以说就是我们的工作目录,大部分的编码工作都在这目录下完成。
build:里面主要是一些编译时自动生成的文件。
libs:有时我们在做项目时会需要用到一些第三方的jar包,这些jar包通常放在这个目录下,这个目录下的jar包会被自动的添加到构建路径上去。
androidTest:我们编写的一些测试用例就是在该目录下
main:main下面还有java、res和AndroidManifest.xml,java这个目录就不多说了,res这个目录是用于存放静态资源以及一些配置文件,当然这个目录下也有几个子目录,主要就是起分类作用。在说一下AndroidManifest.xml,它是我们整个Android项目的配置文件,我们后面学习的四大组件都需要到它这注册,此外它还可以给我们的应用程序配置权限声明
test:用来编写Unit Test测试用例的
.gitignore:模块内部指定文件是否加入版本控制的,和外层的 .gitignore类似。
build.gradle:模块内部的gradle构建脚本
proguard-rules.pro:该文件用于指定项目代码的混洗规则,起防止被破解的效果。
以上就是Android 项目全部目录结构的介绍了。