Gradle的基本使用

本文详细介绍了Gradle在Android Studio中的使用,包括Gradle的基础知识、配置签名、Proguard混淆、zipAlign优化、删除无用资源、多渠道打包、自定义BuildConfig以及插装测试覆盖率代码等内容,帮助开发者掌握高效构建Android应用的技巧。
摘要由CSDN通过智能技术生成

Gradle的介绍

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。

Gradle入门知识

projects 和 tasks是Gradle中最重要的两个概念,任何一个Gradle构建都是由一个或者多个project组成,每个project可以是一个jar包,一个web应用,或者一个android app等,每个project又由多个task构成,一个task其实就是构建过程中一个原子性的操作,比如编译、拷贝等。

一个build.gradle文件是一个构建脚本,当运行gradle命令的时候会从当前目录查找build.gradle文件来执行构建。下面我们来看下gradle的Hello World。在build.gradle构建文件中输入以下构建脚本:

task hello {
    doLast {
        println 'Hello world!'
    }
}

task定义了一个任务,这个任务名字是hello。doLast是Task的方法,意思是在该hello任务执行之后作的事情,可以用一个闭包配置它,这里是输出Hello world!字符串。我们在终端里执行如下命令运行查看结果:

$gradle hello -q
Hello world!

Android Studio的结构

这里新建一个android项目,选择Project结构模式,下面是项目的结构示意图

├── ApplicationName #项目路径
│   ├── .gradle
│   ├── .idea
│   ├── app #Android App目录
│   │   ├── build #构建输出目录
│   │   ├── libs#so相关库
│   │   ├── src #源代码,资源等
│   │   └── .gitignore  
│   │   └── app.im
│   │   └── buidle.gradle#构建脚本
│   │   └── proguard-rules.pro#proguard混淆配置
│   ├── build
│   │   ├── intermediates
│   ├── gradle  
│   │   ├── wrapper
│   └── .gitignore  
│   └── buidle.gradle #工程构建文件
│   └── gradle.properties#gradle的配置
│   └── gradlew #gradle wrapper linux shell脚本
│   └── gradlew.bat
│   └── local.properties #配置Androod SDK位置文件
│   └── MyApplication.iml
│   └── settings.gradle #工程配置
├── External Liraies#类库、jar等

settings.gradle用于配置project,标明其下有几个module,比如这里p一个:ape
module

include ':app'

build.gradle(Project:projectName)是一个顶级的build配置文件,在这里可以为所有project以及module配置一些常用的配置。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
    //使用jcenter库
        jcenter()
    }
    dependencies {   
        // 依赖android提供的1.3.0的gradle build
        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
    }
}
//为所有的工程的repositories配置为jcenter
allprojects {
    repositories {
        jcenter()
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle(Module:moduleName)用于module的配置,也是最重要的部分

apply plugin: 'com.android.application'

android {
    compileSdkVersio
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值