详解android studio工程的结构

任何一个新建的AS项目都会使用默认的安卓模式的项目结构,但这并不是项目真实的结构,而是被AS转换过的;

一. 初识project目录结构

我们首先切换到project模式,项目真实的目录结构如下图所示:
这里写图片描述
接下来,我们对于目录的内容进行一一讲解:
1、.gradle和.idea
这两个目录下都是AS自动生成的一些文件,我们不需要关心,也不要去手动编辑;
2、app
项目中的代码和资源文件都是放在这个文件下的,之后会对这个文件夹进行详解;
3、build
这个文件夹也无需关心,放的都是编译自动生成的文件;
4、gradle
这个目录下放置了gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会根据本地的情况自动决定是否要联网下载gradle;
5、.gitignore
这个与版本控制有关,用来将指定的文件或目录排除在版本控制之外的;
6、build.gradle
这是项目全局的gradle文件,通常也不需要改动,之后会详细介绍里面的内容;
7、gradle.properties
这是全局gradle文件的配置文件;
8、gradlew和gradlew.bat
用来在命令行界面中执行gradle,其中前者在linux和mac系统中使用,后者在windows中;
9、local.properties
指定android SDK的路径;
10、settings.gradle
指定项目中所有引入的模块,具体可看文件,通常模块的引入都是自动完成的,基本不需要手动处理;

二、探索最常用的project下的APP目录

整个项目的外层目录都介绍完了,我们可以发现除了APP目录,其他都是自动完成的,不需要我们手动更改,所以我们详细介绍下APP目录:
这里写图片描述
1、build
这个目录与外层的build目录类似,都是编译时自动生成的文件,我们不用管;
2、libs
放置第三方jar包;
3、androidTest
用来编写测试用例用来,进行一些自动化测试;
4、java
放置所有的java逻辑代码;
5、res
放置所有的资源文件(包含图片,字符串,布局等),后面会详解;
6、AndroidManifest
安卓项目的配置文件,非常重要,自大组件的注册,权限的声明都必须在这个文件中描述,之后的开发中,我们会经常用到这个文件;
7、Test
编写单元测试的,也是自动化测试的一种,目前是用不到的;
8、.gitignore
与外层的.gitignore一样,都是版本控制的;
9、app.iml
Intellij IDEA自动生成的文件,我们不需要关心;
10、bulid.gradle
这是app模块的gradle构建脚本,之后会详解;

三、res资源目录

详解项目中的资源文件(res):
这里写图片描述

所有以drawable开头的都是用来放图片的;
所有以mipmap开头的都是用来放图标的;
layout是来放布局文件的;
value开头的是用来放字符串、颜色、样式等配置的;

注:为了能更好的兼容各种设备,有不同分辨率的文件夹,如mipmap-hdpi,mipmap-mdpi等等;

四、解析全局的build.gralde文件

详解全局的build.gradle文件:
这里写图片描述
1、两处repositories闭包中都声明了google()和jcenter()这两行配置,这两个其实是代码托管仓库,很多安卓开源项目都会选择托管到上述仓库中,我们就可以轻松引用了;
2、dependencies闭包中使用classpath声明了gradle插件,表明gradle创建的是安卓项目,而不是其他的java,c++等项目;

五、解析APP的build.gralde文件

详解APP的build.gradle文件:
这里写图片描述
1、第一行应用了一个插件,一般有两种值可选,com.android.application表示是一个应用程序模块,com.android.library表示是一个库模块。目前还没有用过库模块!!
2、下面的android闭包显示了基本的配置,易懂;
3、最下面是一个依赖闭包,一般有本地依赖、库依赖和远程依赖三种,很容易分辨;

猜你喜欢

转载自blog.csdn.net/sinat_29355599/article/details/80997086