Gradle 使用指南 -- 基础配置

这篇博客介绍了Gradle的基础配置和命令使用,包括Gradle命令如`assemble`和自定义参数,以及`build.gradle`、`settings.gradle`等配置文件的用途。内容涵盖Gradle的仓库、依赖管理、多渠道打包,并提供了调试和依赖报告的技巧。此外,还讲解了如何通过`productFlavors`进行多渠道打包。
摘要由CSDN通过智能技术生成

我的博客原文地址

Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言(DSL),建议可以先熟悉一下Groovy脚本。
Gradle API 文档
Android 配置构建
Android 插件 DSL 扩展
本文只是简单的介绍一下 Gradle 的一些基本配置,如果想进行一些高级的操作或者是想深入的了解这些配置,请参考我的后面几篇博客。
Gradle 使用指南 – Android DSL 扩展
Gradle 使用指南 – Gradle Task
Gradle 使用指南 – 创建Plugin
Gradle 使用指南 – Plugin DSL 扩展

Gradle命令:

常用命令:

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 tasks 列出所有task

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

  • ./gradlew assembleDebug 编译并打Debug包
  • ./gradlew assembleRelease 编译并打Release的包

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

  • ./gradlew installRelease Release模式打包并安装
  • ./gradlew uninstallRelease 卸载Release模式包

加入自定义参数:

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

  • ./gradlew assembleDebug -Pcustom=true

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

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

}

assemble结合Build Variants来创建task

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有如下用法:

  1. assemble<Variant Name>: 允许直接构建一个Variant版本,例如assembleFlavor1Debug
  2. assemble<Build Type Name>: 允许构建指定Build Type的所有APK,例如assembleDebug将会构建Flavor1Debug和Flavor2Debug两个Variant版本。
  3. assemble<Product Flavor Name>: 允许构建指定flavor的所有APK,例如assembleFlavor1将会构建Flavor1Debug和Flavor1Release两个Variant版本。

Gradle配置:

Gradle构建脚本 build.gradle
Gradle属性文件 gradle.properties
Gradle设置文件 settings.gradle

build.gradle

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

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

某个Moudle的gradle配置文件:

buildscript

buildscript {
    repositories {
        maven { url 'http://*********' }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.1'
    }
}
  • buildscript{}设置脚本的运行环境。
  • repositories{}支持java依赖库管理,用于项目依赖。
  • dependencies{}依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件。如果前面定义了repositories{}maven 库,则使用maven的依赖库,使用时只需要按照用类似于com.android.tools.build:gradle:0.4,gradle 就会自动的往远程库下载相应的依赖。

apply

//声明引用 com.android.application 插件,那么这个模块就是一个Android应用程序
apply plugin: 'com.android.application'
  • apply plugin:声明引用插件的类型。如果是库的话就加
apply plugin: 'com.android.library'
  • apply from:表示引用其他的配置文件,比如 apply from:"config.gradle"

android

这个是 Android 插件引入的 Script blocks,想深入了解的话看我后面的博客。

android {
    // 编译SDK的版本
    compileSdkVersion 22
    // build tools的版本
    buildToolsVersion "23.0.1"

    //aapt配置
    aaptOptions {
        //不用压缩
  • 36
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寒江蓑笠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值