gradle配置_设置gradle离线_gradle离线配置(4)

电脑杂谈  发布时间:2017-01-08 12:03:29  来源:网络整理
apply plugin: 'com.android.application'
以上就是一条statements,其中apply 是一个方法,后面是它的参数。这行语句之所以比较难理解是因为它使用了缩写,写全应该是这样的:

project.apply([plugin: com.android.application])
这样是不是就很清楚了?project调用了apply方法,传入了一个Map作为参数,这个Map的key是plugin,是com.android.application.
dependencies {
    compile fileTree(dir: libs, include: [*.jar])
}

它以上就是一条script block,但它却很难被理解,之所以这么难理解,是因为gradle语法中用了大量的简写,dependencies写完整应该是这样的:

project.dependencies({
add(compile, com.android.tools.build:gradle:2.0., {
// Configuration statements
})
})

我们知道block是一个闭包,这里首先调用project下的dependencies方法,这个方法的参数是一个闭包,这个闭包被传递给DependencyHandler,DependencyHandler有一个方法:add,这个add有三个参数,分别是'compile','...'和一个闭包。gradle配置

gradle中有以下顶层build script block:

这里再以allprojects{ }为例,说一下script block是怎么工作的:

allprojects {
    repositories {
        jcenter()
    }
}

allprojects{ }一般是顶层build.gradle中的一个script block,它就是一个方法,这个方法接受一个闭包作为参数。gradle工具会先创建一个Project对象,它是一个委托对象(delegate object),它创建以后,build.gradle被执行,执行的过程中,allproject{ }方法被调用,这个方法的参数是一个闭包,然后闭包会被执行,用来配置Project对象。

理解了Project,task和action的概念以后,就可以就理解gradle的配置文件了。在android studio的工程中一般会有三个配置文件,它们各有各的功能。这三个文件的位置应该是这样的:

构建一个工程的时候,会有以下顺序:

1.创建一个Settings对象。

2.检查settings.gradle是否存在,不存在就什么都不做,存在就用它来配置Settings对象。

3.使用Settings对象创建Project对象,多Module工程中,会创建一系列的Project.

4.检查build.gradle是不是存在,存在的话就用它来配置Project对象。

gradle配置_gradle离线配置_设置gradle离线

如果一个新的工程只包含一个android app,那么settings.gradle应该是这样的:

include :app
如果你的工程里只有一个 app,那么settings.gradle文件可以不要。include ':app'中的app指明你要构建的模块名,android studio默认的模块名师app,你可以把app目录的名字改掉,比如改成hello,那么这个时候你就必须把settings.gradle中的app也改成hello。这会是你非常有意义的一次尝试,因为有了这次尝试,以后你就可以按你所愿修改这个文件了。比如就像这样修改:


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-25073-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...