《Gradle权威指南》--Gradle任务】的更多相关文章

前言 最近看了一本书<Android Gradle 权威指南>,收获挺多,就想着来记录一些读书笔记,方便后续查阅. 本篇内容是基于上一篇:读书笔记--Android Gradle权威指南(上) 上一篇中我们讲了: Groovy 基础 Android 项目中的 Gradle 2.1 gradle/wrapper 目录 2.2 gradlew.bat 文件 2.3 setting.gradle 文件 2.4 build.gradle 文 Gradle 基础 3.1 task 概念 3.2 grad…
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所以打算写一篇读书笔记,将书中一些我个人觉得蛮有用的点记录.总结一下. 前言 首先,先来过一下整书的目录章节,先大概清楚整本书都介绍了哪些知识点: 第 1 章 Gradle 入门 第 2 章 Groovy 基础 第 3 章 Gradle 构建脚本基础 第 4 章 Gradle 任务 第 5 章 Gradle 插…
No1: Window下搭建Gradle:添加GRADLE_HOME环境变量,然后把GRADLE_HOME\bin添加到PATH系统变量里保存即可.完成后打开CMD,运行gradle -v来验证 No2: task hello{ doLast{ println 'Hello World!' } } 运行 No3: 生成Wrapper 生成文件 No4: gradle wrapper --gradle-version 2.4 意思是配置Wrapper使用2.4版本的Gradle,如果不加则默认使用…
No1: 在根项目下的local.properties文件中配置 sdk.dir=/home/frame/android/android-sdk ndk.dir=/home/frame/android/android-ndk 在gradle.properties里配置 android.useDeprecatedNdk=true No2: 配置so库的模块名,是在build.gradle脚本文件里配置 android{ compileSdkVersion 23 buildToolsVersion…
No1: Android既可以用传统的JUnit测试,也可以用Android的instrument测试. No2: 当我们运行测试的时候,androidTest SourceSet会被构建成一个可以安装到设备上的测试apk,这个测试apk里有很多我们写好的测试用例,它们会被执行,来测试我们的app. No3: android{ defaultConfig{ testApplicationId "org.flysnow.app.example121.test" testInstrumen…
No1: Build Variant = Build Type + Product Flavor Build Variant:构建的产物 Build Type:构建的类型 Product Flavor:构建的渠道 android{ compileSdkVersion 23 buildToolsVersion "23.0.1" productFlavors{ google{} baidu{} } } No2: Flurry多渠道和友盟多渠道构建 Flurry本身没有渠道的概念,它有App…
No1: Android多项目设置 目录结构: MyProject/ setting.gradle app/ build.gradle libraries/ lib1/ build.gradle lib2/ build.gradle setting.gradle配置文件 include ':app',':libraries:lib1',':libraries:lib2' 也可以指定项目目录 include ':example912' project(':example912').projectD…
No1: 指定共享库 <uses-library android:name="com.google.android.maps" android:required="true"/> No2: android除了标准的sdk,还存在两种库 1)add-on库:位于add-ons目录下,大部分是第三方厂商或者公司开发的 2)optional可选库:位于platforms/android-xx/optional目录下,一般是为了兼容旧版本的API,比如HttpC…
No1: Android Gradle插件分类 App插件id:com.android.application Library插件id:com.android.library Test插件id:com.android.test No2: 除了插件id之外,如果是第三方的插件,还要配置它们的依赖classpath.Android Gradle插件就是属于第三方插件,它托管在Jcenter上. buildscript{ repositories{ jcenter() } dependencies{…
No1: dependencies{ compile group: 'com.squareup.okhttp3',name:'okhttp',version:'3.0.1' } //缩写 dependencies{ compile 'com.squareup.okhttp:okhttp:3.0.1' } No2: gradle提供的依赖配置 No3: 依赖的通用使用格式 No4: 依赖项目 dependencies{ compile project(':example63') } No5: 依赖…
No1: 应用插件 apply plugin:'java' apply plugin:org.gradle.api.plugins.JavaPlugin apply plugin:JavaPlugin 这三种写法等价 注:‘java‘是一个plugin id No2: 应用脚本插件 //version.gradle ext{ versionName='1.0.0' versionCode=1 } //build.gradle apply from:'version.gradle' task ex…
No1: 设置文件默认名是setting.gradle,放在根目录下,大多数作用都是为了配置子工程 No2: 一个Project包含很多个Task.Task就是一个操作,一个原子性的操作.其实它是Project对象的一个函数 No3: task customTask1{ doFirst{ println 'customTask1:doFirst' } doLast{ println 'customTask1:doLast' } } tasks.create("customTask2")…
No1: minSdkVersion public void minSdkVersion(int minSdkVersion){ setMinSdkVersion(minSdkVersion); } ----------------------- public void setMinSdkVersion(@Nullable String minSdkVersion){ setMinSdkVersion(getApiVersion(minSdkVersion)); } public void mi…
No1: 多种方式创建任务 def Task ex41CreateTask1 = task(ex41CreateTask1) ex41CreateTask1.doLast{ println "创建方法原型为:Task task(String name)throws InvalidUserDataException" } def Task ex41CreateTask2 = task(ex41CreateTask2,group:BasePlugin.BUILD_GROUP) ex41Cr…
No1: Groovy中分号不是必须的 No2: Groovy中,单引号和双引号都可以定义一个字符串常量,不同的是单引号标记的是纯粹的字符串常量,而不是对字符串里的表达式做运算,但是双引号可以. task printStringClass<<{ def str1='单引号' def str2="双引号" println "单引号定义的字符串类型:"+str1.getClass().name println "双引号定义的字符串类型:"…
    上一篇随笔介绍了Gradle的安装与任务管理,这篇着重介绍Gradle的内建任务(in-built tasks)与自定义任务(custom tasks),借助Gradle提供的众多内建任务类型以及自己定制的任务类型,Java Web.Android等的开发.测试.部署将会变得非常容易.这篇随笔提供的都是非常简单的示例,但这对于读懂Gradle脚本(例如常见的build.gradle)或者是书写Gradle脚本相信是有帮助的.本文所有代码测试环境为Gradle 2.11     如有错误,…
前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上.Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装.任何存在的 Groovy 安装都会被 Gradle 忽略. Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环境变量来指向所需的 JDK 安装目录. 下载 下载 Gradle 的发布包. 解压 Gradle 的发布包被打包成 ZIP.完整的发布包含: Gradle 二进制 用户指南 (HTML 和…
Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.java代码或者两者混合.在其他方面,groovy项目与java项目是一致的,就像我们在章7:java快速入门中所看到的那样. 一个简单的groovy项目 让我们来看一个示例.使用groovy插件,需要添加下面的代码得到你的构建文件中. 注意:示例代码在gradle发布的源文件包的路径samples/g…
下载安装gradle 2.1 下载地址:http://www.gradle.org/learn 安装先决条件:gradle安装需要1.6或者更高版本的jdk(jre)(可以使用java –version 验证),gradle自带groove lib库,所以不必安装groove,任何已安装groove都将被忽略.Gradle使用path路径下的jdk,当然,你也可以设置JAVA_HOME指向你的jdk安装路径. Gradle发行版是一个zip压缩文件,完整的发行版包括: 二进制文件 用户指南(ht…
gradle 用户指南 版权所有©2007-2017 Hans Dockter,Adam Murdoch只要您不对这些副本收取任何费用,并且进一步规定,每个副本都包含本版权声明,无论是以印刷版还是电子版分发,本文档的副本可供您自己使用并分发给他人. 目录 一.关于Gradle 1.简介2.概述 二.使用现有构建 3.安装Gradle 3.1 权限导致的问题:gradle Could not create service of type CrossBuildFileHashCache using…
第1章.简介 目录 1.1 关于本用户指南 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具. 这里我们将介绍Gradle,我们认为gradle让java项目在构建上有了跨越性发展.Gradle提供了: 很灵活的通用构建工具,就像ant. 使用可切换的,已经约定好的框架,就像maven.但是Gradle不会对你做任何限制. 支持多项目的构建 强大的依赖管理(基于Apache lvy). 完美兼容maven或Ivy仓库 无需提供远程仓库.pom.xml.…
原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Dependencies-Android-Libraries-and-Multi-project-setup 4.Dependencies.Android Libraries and Multi-project setup(依赖关系,Android库和多项目设置) Gradle项目能够依赖于其他组件.这些组件能够是外部二进制包,或者是其他的Gradle项…
本文转载来自:http://www.jianshu.com/p/9df3c3b6067a 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高.除此之外,相对其他编译工具,最重要的,他和 Android Studio 的关系非常紧密,可以说对于一些简单的程序我们几乎不…
    上一篇随笔介绍了如何使用Gradle内建任务,介绍了自定义Gradle任务类的三种方法(build文件,buildSrc文件夹.新建groovy项目),一个任务是一个原子操作,即不可分割的.项目开发过程中,我们往往需要按照一定顺序执行多个任务以完成某个特定功能(例如build.clean),多个任务及其属性.配置的集合称之为一个plugin     Gradle提供了2种类型的插件,脚本插件(script plugin)和二进制插件(binary plugin).Gradle拥有十分丰富…
    这是一篇Java Gradle入门级的随笔,主要介绍Gradle的安装与基本语法,这些内容是理解和创建build.gradle的基础,关于Gradle各种插件的使用将会在其他随笔中介绍.     有什么疑问欢迎在文末关注留言,如果本文对你有用,那在右下角点个推荐吧~ 1.Gradle简介与安装 1.1 简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种…
为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高.除此之外,相对其他编译工具,最重要的,他和 Android Studio 的关系非常紧密,可以说对于一些简单的程序我们几乎不需要任何代码上的配置只使用 Android Studio 就可以完成编译和运行. 但是对于…
1.定义任务 使用task 关键字来定义gradle 任务 例:创建一个 build.gradle 命名的文件: build.gradle task hello { doLast { println 'Hello world!' } } 命令行切换到包含 build.gradle 文件的目录,执行 gradle -q hello 输出为: > gradle -q hello Hello world! PS:命令行加中 -q 的作用 q 是 quiet 的简写,意思是要安静.干净的输出.如果不加 …
章8:依赖关系管理基础 本章将介绍一些gradle依赖关系管理的基础 什么是依赖关系管理? 简略的说,依赖管理是由两部分组成的.首先,gradle需要知道你要构建或者运行的项目,以便找到它们.我们将这些导入的文件视为项目的依赖.第二,gradle需要构建或者打包你的项目产品.我们将这些导出的文件视为项目的发布.下面,让我们在细节上更多的了解这两个方面. 大部分项目都不是完全彻底的独立的.它们需要其他项目的构建文件,以便编译.测试等等.例如,为了在我的项目中使用Hibernate,当编译我的源文件…
Android编程权威指南(第3版)这本书是基于Android7.0的,到如今已经过于古老,最新的Android版本已经到10,而这本书的第四版目前还没有正式发售,在最近阅读这本书时,我发现这本书的部分代码已经不适合最新的Android开发,所以写下了这篇文章,将我碰到的坑写下来,帮助现在同样在学习使用这本书的人. 本文所说的环境基于AndroidStudio 3.5,Android SDK 28. 在本书第七章7.3.3(中文第三版109页)中写道 要使用AppCompat支持库,项目必须将其…
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对于其他面向对象语言,在JavaScript中的函数是特殊的,函数即是对象.JavaScript可以把函数赋值给变量,或者作为参数传递给其他函数,甚至可以给它们设置属性等. JavaScript的函数可以嵌套在其他函数中定义,这样定义的函数就可以访问它们外层函数中的任何变量.这也就是所谓的"闭包&qu…