Gradle 解析—带你一起提升Gradle

Gradle是一个基于Groovy的自动化构建工具,它结合了Ant的灵活性和Maven的依赖管理。本文深入探讨了Gradle在Android项目中的应用,包括项目设置、Build Tasks定制、依赖管理和多项目配置。通过理解目录结构、Build Types、签名配置,以及如何处理本地包、远程仓库、本地AAR库和多项目设置,助你提升Gradle使用技能。
摘要由CSDN通过智能技术生成

Gradle介绍:

Gradle 是以 Groovy 语言为基础,面向 Java 应用为主。基于 DSL(Domain Specific Language) 语法
的自动化构建工具。

Gradle 集合了 Ant 的灵活性和强大功能,同时也集合了 Maven 的依赖管理和约定,从而创造了一个更有效的构建方式。凭借 Groovy 的 DSL 和创新打包方式, Gradle 提供了一个可声明的方式,并在合理默认值的基础上描述所有类型的构建。 Gradle 目前已被选作许多开源项目的构建系统。

一、基本的项目设置

一个 Gradle 项目通过一个在项目根目录中的 build.gradle 文件来描述它的构建。

简单的Build 文件
最简单的 Android 应用中的 build.gradle 都会包含以下几个配置:

Project 根目录的 build.gradle :

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

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

Module 中的 build.gradle :

apply plugin: 'com.android.application' 

android {
    
  compileSdkVersion 23 buildToolsVersion "23.0.3"
   ... 
}
  • buildscript { … } 配置了编译时的代码驱动. 这种情况下,它声明所使用的是 jCenter 仓库。还有一个声明所依赖的在 Maven 文件的路径。这里声明的包含了 Android 插件所使用的1.5.0版本的 Gradle . 注意:这只会影响 build 中运行的代码,不是项目中。项目中需要声明它自己所需要仓库和依赖关系。
  • apply plugin : com.android.application ,声明使用 com.androdi.application 插件。这是构建 Android 应用所需要的插件。
  • android{…} 配置了所有 Android 构建时的参数。默认情况下,只有编译的目标版本以及编译工具的版本是需要的。

重要: 这里只能使用 com.android.application 插件。如果使用 java 插件将会报错。

1. 目录结构

module/src/main 下的目录结构,因为有时候很多人把 so 放到 libs 目录就会报错:

  • java/
  • res/
  • AndroidManifest.xml
  • assets/
  • aidl/
  • jniLibs/
  • jni/
  • rs/

2.配置目录结构

如果项目的结构不标准的时候,可能就需要去配置它。 Android 插件使用了相似的语法,但是因为它有自己的 sourceSets ,所以要在 android 代码块中进行配置。下面就是一个从 Eclipse 的老项目结构中配置主要代码并且将 androidTest 的 sourceSet 设置给 tests 目录的例子:

android {
    
  sourceSets {
    
    main {
   
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值