Gradle学习(一)

本文介绍了Gradle在Android开发中的应用,包括常用命令、构建全局配置、defaultConfig、buildTypes、signingConfig的详细设置,以及如何通过Proguard精简资源。重点讲解了如何自定义构建类型、配置全局参数、动态参数配置,并提供了资源优化的技巧。
摘要由CSDN通过智能技术生成
《Android 群英传》读书笔记
相关网站

一、常用命令

1. task

查看工程下的task

gradle task

查看各个task的具体作用与各个task之间的调用关系

gradle task --all

2. assemble task

assemble task 用于组合项目的所有输出,它包含了assembleDebugassembleRelease两个Task。通过执行gradle assemble指令,Gradle会编译出两个Apk——debug和release,如果要执行单独的编译命令,可以使用以下指令

gradle assembleRelease (简写 gradle aR,其它指令的简写基本类似)

3. Check

gradle check用于执行检查任务

4.Build

gradle build类似一个组合指令,他执行了checkassemble的所有工作

5.Clean

gradle clean用于清理所有的中间编译结果,这个指令使用的非常广泛。当数据遇到一些莫名其妙的Gradle编译问题时,通常会先执行gradle clean来清理中间数据,这也类似于IDE的clean工作。

二、Gradle进阶

1. 更改项目结构

Gradle提供自定义目录结构的方法,Android项目需要在android领域中配置。如下所示
sourceSets {
        main {
            java.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
            jni.srcDirs = ['jni']
            jniLibs.srcDirs = ['libs']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }

更多详情参考相关官方文档

2. 构建全局配置

开发者在写一般的java代码时,对于多处都要使用的常量,通常会提取出来作为一个全局常量。同样的,在Gradle中也可以使用全局配置,例如在多个modle中,要配置compileSdkVersion、buildToolsVersion等参数
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.test.gradle"
        minSdkVersion 23
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}
类似于写java代码,开发者可以使用全局变量同意这些配置
全局参数
在项目根目录下的build.gradle中,通过ext领域可以指定全聚德配置信息,代码如下所示。
ext {
    compileSdkVersion = 27
    applicationId = "com.test.gradle"
    minSdkVersion = 23
    targetSdkVersion = 27
    versionCode = 1
    versionName = "1.0"
}
这些配置基本上是整个项目的总体配置,下面的每个module都需要按照这个方式来进行配置,而不是在某个module中使用单独的配置。这样既不利于项目的管理,也不利于后期问题的分析、
引用配置
在配置好全局参数后,就可以在没法module中使用这些配置了,例如在一个module中,可以通过以下代码获取全局配置
and
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值