【开发工具】Gradle使用手册:为什么要用Gradle?

为什么要用Gradle?

Gradle是比较先进的构建系统,也是一个很好的构建工具,允许通过插件自定义构建逻辑

以下是为什么Android Studio选择Gradle的主要原因:

  • 使用领域专用语言(Domain Specific Language)来描述和处理构建逻辑。(以下简称DSL)
  • 基于Groovy。DSL可以混合各种声明元素,用代码操控这些DSL元素达到逻辑自定义。
  • 支持已有的Maven或者Ivy仓库基础建设
  • 非常灵活,允许使用best practices,并不强制让你遵照它的原则来。
  • 其它插件时可以暴露自己的DSL和API来让Gradle构建文件使用。
  • 允许IDE集成,是很好的API工具

准备工作

  • Gradle 1.6 or 1.7
  • SDK with Build Tools 17.0.0 (released 5/16/2013)

Basic Project

在Gradle项目的根目录下,有个叫build.gradle的文件,它描述了这个项目的整体构建基础。

build文件

最基本的java程序,它的build.gradle文件就一句话:

[plain] view plaincopy

  1. apply plugin: ‘java‘

最基本的Android项目,它的build.gradle如下:

[plain] view plaincopy

  1. buildscript {
  2. repositories {
  3. mavenCentral()
  4. }
  5. dependencies {
  6. classpath ‘com.android.tools.build:gradle:0.5.6‘
  7. }
  8. }
  9. apply plugin: ‘android‘
  10. android {
  11. compileSdkVersion 17
  12. }

我们一步步来分析一下上面三部分的内容。

  • buildscript{...} 配置了驱动build的代码,它声明将在Maven中央仓库,取一个classpath dependency,也就是Android plugin for Gradle v0.5.6
  • apply plugin     指明了用到的plugin是android,就像前面java程序中,用的plugin是java一样
  • android{...}     中配置了所有android构建的参数,这里也就是Android DSL的入口点。

默认的,只有目标编译环境是必要的,也就是compileSdkVersion这个属性。这和以前在project.properties中的target属性类似。

值得注意的是,如果你在Android项目中写 apply plugin:java 而不是apply plugin:android的话,将会build失败。

时间: 2024-10-05 06:04:12

【开发工具】Gradle使用手册:为什么要用Gradle?的相关文章

前端开发工具 Emmet使用手册

使用示例: 在编辑器中输入缩写代码:ul>li*5 ,然后按下拓展键(默认为tab),即可得到代码片段: <ul> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> 下载和安装 Emmet为大部分流行的编辑器都提供了安装插件,下面是它们的下载链接: Sublime Text Eclipse/Apt

linux下C++开发工具

就C++开发工具而言,与Windows下微软(VC, VS2005等)一统天下相比,Linux/Unix下C++开发,可谓五花八门,各式各样.Emacs, vi, eclipse, anjuta,kdevelop等层出不穷.Windows下,开发工具多以集成开发环境IDE的形式展现给最终用户.例如,VS2005集成了编辑器,宏汇编ml,C /C++编译器cl,资源编译器rc,调试器,文档生成工具, nmake.它们以集成方式提供给最终用户,对于初学者而言十分方便.但是,这种商业模式,直接导致用户

【转】Android开发工具--android-studio-bundle-141.2288178

原文网址:http://www.androiddevtools.cn/ AndroidDevTools简介 Android Dev Tools官网地址:www.androiddevtools.cn 收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具.学习开发教程.用到设计素材,欢迎Star.Fork ?. 如果你对翻译英文的Android开发技术文章

一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5

译者地址:[翻]一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5 原文:First Look at New Android Gradle Build Tools: The new DSL structure and Gradle 2.5 双语对照地址: [翻-双语]一览新的 Android Gradle 构建工具:新的 DSL 结构 和 Gradle 2.5 翻译: MrFu 校验: MrFu Android Studio 1.3 的平台已经接近于稳

Visual Studio 2015和ASP.NET 5中可用的前端开发工具集

最近微软发布了一本白皮书,谈到了一些可以和Visual Studio 2015和ASP.NET 5配合使用的JS/前端Web开发工具(比如:函数库.任务执行器.框架等). 由于现在前端开发的生态系统在快速增长,也变得越来越复杂和庞大.所以,微软特意发布了这么一个白皮书来讲解一些可以集成到VS 2015用于ASP.NET 5开发的前端工具库.这些前端工具库,都能很好的被VS2015所支持,比如提供智能提示等内置特性. 每个涉及的工具库都给出了入门介绍.基本概念,以及在VS和ASP.NET中的用法.

Java开发工具

每一个程序员都有一个自己的开发工具,使用得心应手,好的工具能做到事半功倍效果.但人与人不同,喜好不同,使用的工具也不同.就像侠客需要武器,十八般兵器,各有所长,每个侠客都有属于自己的兵器.下面介绍下IT界的兵器们: JDK (Java Development Kit)Java开发工具集 .Eclipse.MyEclipse.UltraEdit.Java Workshop.NetBeans 与Sun Java Studio 5.Borland 的JBuilder.Oracle 的JDevelope

扯一扯关于android开发工具的破事

一.前言 开发android一转眼之间已经过去一年多了,回想到以前刚开始学习android还是在大学里面,那是看了mars的视频教程就开始android之路,从最开始的环境搭建到开发项目,一步一步自己摸索进步,由于一直没有遇到资深的android工程师带领我,所以自己大部分学习来自于网络的blog,eoe论坛,所以我深爱技术分享这个东西,因为网络的强大是由于一大批人不为任何利益分享自己的技术,所以我们才能在网络上找到答案,就算没有答案也可以找到前人研究的成果,我们就可以踩着前人的肩膀继续前进,技

Android高手速成--第四部分 开发工具及测试工具

第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson Annotations对应代码自动生成.期待后续的提取父类以及多url构建整个工程的功能项目地址:https://github.com/jonfhancock/JsonToJava在线演示:http://jsontojava.appspot.com/ IntelliJ Plugin for And

android studio开发工具的android library打包文件(.aar)本地引用

by 蔡建良 2014-5-13 关键点: 利用Gradle发布本地maven库支持android library 打包文件(*.aar) 的本地引用 开发环境: windows7 64位操作系统 android studio0.5.8 (1) 安装maven1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量.2.下载maven3,最新版本是Maven3.2.1 ,下载地址:http://maven.apache.org/download.html 下载apach

html5开发工具哪些比较优秀

随着HTML5 发展如火如荼,以及html5技术的不断成熟,越来越多的程序员都在关注着HTML5,那么html5开发(http://www.maiziedu.com/course/web/228-2628/)工具哪些比较优秀呢?下面就给大家推荐10款优秀的HTML5开发公母,能让你高效的编写HTML5应用. Initializr Initializr 是制作 HTML5 网站最好的入门辅助开发工具,你可以使用提供的特色模板快速生成网站,也可以自定义,Initializr 会为你生成代码简洁的可定