一个AndroidStudio项目的目录结构

首先说一下gradle,gradle是一种构建工具,AndroidStudio用它来构建项目。AndroidStudio在创建项目的时候会自动去下载需要的gradle版本,也可以自己手动的去下载,下载下来的gradle会默认放在C:\用户\.gradle\wrapper\dists下边。

 

Project的目录结构:

 

新建的一个AndroidStudio项目,project目录结构如下:

1、.gradle目录:

gradle运行的时候自动生成的目录,一般不做任何修改。

 

2、.idea目录:

Intellij IDEA运行的时候生成的目录,一般不做修改。(Intellij IDEA是JetBrains公司推出的Java集成环境,AndroidStudio是基于IDEA Commutity Edition开发的)

 

3、module

每一个module可看成Eclipse中的一个Project,里面的文件结构与父类差不多。

 

4、build目录

编译时产生文件,不需要修改。

 

5、gradle目录

里面有一些项目对gradle的配置信息,其中wrapper.properties里面包含了一些gradle的下载路径以及当前使用的gradle版本信息。

 

6、.gitignore文件

git对项目文件管理,可以在里面添加一些你不希望纳入git管理的文件。AndroidStudio已经自动帮我们添加了一些不需要的文件,我们可以按照同样的方式来加自己的文件。

匹配符的解释:

# 用于注释

logs/:忽略根目录下的logs目录,包括logs目录下的所有子目录和文件

/logs.txt:忽略根目录下的logs.txt文件

* 匹配0个或多个任意字符(如:*.txt表示所有的txt文件)

?匹配一个字符(如:test?.txt可以匹配到testk.txt、testl.txt等)

[]匹配数组中指定的字符(如:test[k,z]可以匹配testk.txt、testz.txt)

[n-m]匹配所有在这两个字符范围内的字符。

 

7、build.gradle文件

项目的编译环境配置,可以说是Gradle最主要的配置文件。这里是对Project进行的配置,是最顶层的配置,在Module中同样有一个build.gradle文件,是对Module进行的配置,如果Module里没有进行配置,将使用这里的配置。

 

 

// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from: 'buildsystem/dependencies.gradle'
//buildscript中声明的是gradle脚本自身需要使用的资源
buildscript {
   //声明仓库源,android有两个标准的library文件服务器,一个jcenter一个maven,两者毫无关系
   repositories {
       //是一个类似于github的仓库,声明了此配置就可以轻松的引用jcenter上的开源项目
       jcenter()
       //Maven仓库,包括Maven本地仓库、中央仓库以及自定义地址仓库
       mavenLocal()
       mavenCentral()
       maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
       google()
    }
  //声明Android gradle plugin的版本
  dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
    }
}
allprojects {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url 'https://maven.google.com'
        }       
        google()
    }
}

//声明任务。声明一个任务,任务名叫clean,任务类型是Delete(也可以是Copy)
//这段代码的作用是每当修改settings.gradle文件后点击同步,就会删除rootProject.buildDir
//下的文件(实际是清除External Libraries里的包然后又添加了一次)
 task clean(type: Delete) {
    delete rootProject.buildDir
}

 

 

 

 

8、FirstProject.iml

编译项目的时候生成的文件,其名为"项目名.iml",iml文件是AndroidStudio识别项目的配置文件。

 

9、gradle.properties文件

配置gradle运行环境文件,如配置gradle的运行模式、运行时jvm虚拟机的大小。

 

10、gradlew和gradlew.bat文件

分别是linux下的shell脚本和windows下的批处理文件,他们的作用是根据gradle-wrapper.properties文件中的distributionUrl下载对应的gradle版本。这样就可以保证在不同的环境下构建时都是使用的统一版本的gradle,即使该环境没有安装gradle也可以,因为gradle wrapper会自动下载。

 

11、local.properties文件

配置android NDK、SDK的地方,这个路径根据不同的电脑可能显示不一样,一般不会纳入源代码管理之中。

 

12、settings.gradle文件

声明当前项目中含有什么module。如果有多个module,会以;分开。

 

Module的目录结构:

 

 

1、build文件

module编译时所生成文件的目录。我们编译最终生成的apk就在build/outputs/apk目录下,里面包含了app-debug.apk、app-debug-unaligned.apk、app-release-unaligned.apk三种apk。

 

2、lib目录

第三方库存放目录,我们把需要的第三方库jar文件放在这里,*.so也放在这里。可以在Project Structure中管理它的依赖关系,也可以在build.gradle中直接修改。

 

3、src目录

3.1、src\androidTest:android studio生成的测试模块,可删除。

3.2、src\main:module代码目录

3.3、main\test:单元测试模块,可删除。

 

4、.gitignore文件

module中的git管理文件,可对module单独管理。

 

5、app.iml文件

同Project中的*.iml一样,管理module的配置。

 

6、build.gradle文件

这个文件是Module的gradle配置文件,也可以算是整个项目中最主要的gradle配置文件。详细介绍可以看http://blog.csdn.net/qiutiandepaomo/article/details/65440543

 

7、proguard-rules.pro文件

module中的代码混淆配置文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值