gradle设置build执行命令_Gradle命令和配置

转至:http://blog.csdn.net/heqiangflytosky/article/details/50853268

Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言,建议可以先熟悉一下Groovy脚本。

gradle明明一般是./gradlew +参数,gradlew代表gradle wrapper,意思是gradle的一层包装,大家可以理解为在这个项目本地就封装了gradle,即gradle wrapper, 在gradle/wrapper/gralde-wrapper.properties文件中声明了它指向的目录和版本。只要下载成功即可用grdlew wrapper的命令代替全局的gradle命令。

./gradlew -v版本号

./gradlew clean清除app目录下的build文件夹

./gradlew build检查依赖并编译打包

这里注意的是./gradlew build命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令assemble, 如:

./gradlew assembleDebug编译并打Debug包

./gradlew assembleRelease编译并打Release的包

除此之外,assemble还可以和productFlavors结合使用:

./gradlew installReleaseRelease模式打包并安装

./gradlew uninstallRelease卸载Release模式包

比如我们想根据不同的参数来进行不用的编译配置,可以在./gradlew中加入自定义参数。

./gradlew assembleDebug -Pcustom=true

就可以在build.gradle中使用下面代码来判断:

if(project.hasProperty('custom')){

}

1

2

3

1

2

3

assemble还能和Product Flavor结合创建新的任务,其实assemble是和Build Variants一起结合使用的,而Build Variants = Build Type + Product Flavor,举个例子大家就明白了:

如果我们想打包 wandoujia 渠道的release版本,执行如下命令就好了:

./gradlew assembleWandoujiaRelease

如果我们只打wandoujia渠道版本,则:

./gradlew assembleWandoujia

此命令会生成wandoujia渠道的Release和Debug版本

同理我想打全部Release版本:

./gradlew assembleRelease

这条命令会把Product Flavor下的所有渠道的Release版本都打出来。

总之,assemble命令创建task有如下用法:

assemble: 允许直接构建一个Variant版本,例如assembleFlavor1Debug。

assemble: 允许构建指定Build Type的所有APK,例如assembleDebug将会构建Flavor1Debug和Flavor2Debug两个Variant版本。

assemble: 允许构建指定flavor的所有APK,例如assembleFlavor1将会构建Flavor1Debug和Flavor1Release两个Variant版本。

Gradle构建脚本 build.gradle:

Gradle属性文件 gradle.properties

Gradle设置文件 settings.gradle

先看整个项目的gradle配置文件:

buildscript {    repositories {        jcenter()    }    dependencies {        classpath'com.android.tools.build:gradle:1.3.0'// NOTE: Donotplace your application dependencies here; they belong        //inthe individualmodulebuild.gradle files    }}allprojects {    repositories {        jcenter()    }}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(),jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。

另一个是声明了Androidgradle plugin的版本,android studio 1.0正式版必须要求支持gradle plugin 1.0的版本

某个Moudle的gradle配置文件:

buildscript{    repositories {        maven { url'http://*********'}}    dependencies{        classpath'com.android.tools.build:gradle:1.3.1'}}

1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值