深入浅出Android Gradle构建系统:项目结构

Posted 安卓开发精选

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出Android Gradle构建系统:项目结构相关的知识,希望对你有一定的参考价值。


来源:大头鬼Bruce(@hi大头鬼hi)

链接:http://blog.csdn.net/lzyzsd/article/details/42131637


本系列:


这篇主要介绍使用Gradle的android项目的目录结构,以及在Gradle中的配置。


Gradle采用约定优于配置的原则,最简单方式是使用一个默认的目录结构。当然目录结构是可以自己修改的。


默认情况下,android gradle项目的代码都在src目录下,src下会有两个目录main和androidTest,其中main目录下是项目代码,androidTest目录下是测试代码。

src/main/

src/androidTest/


在main和androidTest目录下面,针对不同类型的code,又不会不同的目录。

对于Java和Android的Gradle插件,Java代码和Java资源分别对应了java目录和resources目录。Android插件还需要一些其他的目录和文件,比如

AndroidManifest.xml

res/

assets/

aidl/

rs/

jni/


下面我们来看一下如何更改这些默认的配置。


Android工程,默认情况下,java文件和resource文件分别在src/main/java和src/main/res目录下,在build.gradle文件,andorid{}里面添加下面的代码,便可以将java文件和resource文件放到src/java和src/resources目录下。(注意,如果你在gradle文件中修改了,只需要重新sync一下,gradle会自动创建新的目录,并将对应的文件移动到新的目录下)


sourceSets {

main {

java {

srcDir 'src/java'

}

resources {

srcDir 'src/resources'

}

}

}


更简便的写法是


sourceSets {

main.java.srcDirs = ['src/java']

main.resources.srcDirs = ['src/resources']

}


数组里其实是可以指定多个目录,这样就可以将代码和资源放置到多个目录下。

在看一个Android项目的例子:


android {

sourceSets {

main {

manifest.srcFile 'AndroidManifest.xml'

java.srcDirs = ['src']

resources.srcDirs = ['src']

aidl.srcDirs = ['src']

renderscript.srcDirs = ['src']

res.srcDirs = ['res']

assets.srcDirs = ['assets']

}


androidTest.setRoot('tests')

}

}


这里的main code其实使用的就是Android Gradle的默认值,而androidTest不再使用默认的androidTest目录,而是使用tests目录。


这篇先讲到这里,下一篇我会简单的介绍一个gradle的task



安卓应用频道

--------------------------------------

商务合作QQ:2302462408

投稿网址:top.jobbole.com

以上是关于深入浅出Android Gradle构建系统:项目结构的主要内容,如果未能解决你的问题,请参考以下文章

Android知识要点整理(17)----Gradle 之自定义构建

Android知识要点整理(17)----Gradle 之自定义构建

如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行

Android开发之深入理解Android Studio构建文件build.gradle配置

[万字长文]一文带你深入了解Android Gradle

Android开发之深入理解Android Studio构建文件build.gradle配置