《gradle权威指南》--Gradle入门】的更多相关文章

本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所以打算写一篇读书笔记,将书中一些我个人觉得蛮有用的点记录.总结一下. 前言 首先,先来过一下整书的目录章节,先大概清楚整本书都介绍了哪些知识点: 第 1 章 Gradle 入门 第 2 章 Groovy 基础 第 3 章 Gradle 构建脚本基础 第 4 章 Gradle 任务 第 5 章 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…
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 "双引号定义的字符串类型:"…
1 Hello World 1.1 概述 搭建一个Web留言板应用,采用PHP+Redis. Redis由一个master提供写和两个slave提供读. PHP构成的前端Web层由三个实例构成集群,访问时进行负载均衡. 提供三个docker镜像 redis-master:写的redis redis-slave:读的redis php-fronted:PHP Web服务 1.2 创建redis-master Pod和服务 为redis-master创建一个RC yaml文件 apiVersion:…
1.查看方式:GETURL:http://10.10.6.225:9200/?pretty pretty 在任意的查询字符串中增加pretty参数.会让Elasticsearch美化输出JSON结果以便更加容易阅读 实测:http://10.10.6.225:9200/?pretty与http://10.10.6.225:9200/效果是一样的. 返回:{ "name": "Uf8MPqK", "cluster_name": "elas…
发布与订阅消息系统 在正式讨论Apache Kafka (以下简称Kafka)之前,先来了解发布与订阅消息系统的概念, 并认识这个系统的重要性.数据(消息)的发送者(发布者)不会直接把消息发送给接收 者,这是发布与订阅消息系统的一个特点.发布者以某种方式对消息进行分类,接收者 (订阅者)订阅它们,以便接收特定类型的消息.发布与订阅系统一般会有一个 broker,也就是发布消息的中心点. 发布与订阅消息系统的大部分应用场景都是从一个简单的消息队列或一个进程间通信开始的.比如电商系统中,包含会员模块…
Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.java代码或者两者混合.在其他方面,groovy项目与java项目是一致的,就像我们在章7:java快速入门中所看到的那样. 一个简单的groovy项目 让我们来看一个示例.使用groovy插件,需要添加下面的代码得到你的构建文件中. 注意:示例代码在gradle发布的源文件包的路径samples/g…
gradle 用户指南 版权所有©2007-2017 Hans Dockter,Adam Murdoch只要您不对这些副本收取任何费用,并且进一步规定,每个副本都包含本版权声明,无论是以印刷版还是电子版分发,本文档的副本可供您自己使用并分发给他人. 目录 一.关于Gradle 1.简介2.概述 二.使用现有构建 3.安装Gradle 3.1 权限导致的问题:gradle Could not create service of type CrossBuildFileHashCache using…
前置条件 Gradle 需要 Java JDK 或者 JRE,版本是 6 及以上.Gradle 将会装载自己的 Groovy 库,因此,Groovy 不需要被安装.任何存在的 Groovy 安装都会被 Gradle 忽略. Gradle 使用你 path 中的 JDK,或者,您可以设置 java_home 环境变量来指向所需的 JDK 安装目录. 下载 下载 Gradle 的发布包. 解压 Gradle 的发布包被打包成 ZIP.完整的发布包含: Gradle 二进制 用户指南 (HTML 和…
下载安装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…
第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项…
本文为我在学习群内分享时在B站直播分享时的文档,直播间地址 http://live.bilibili.com/22263819 PS:问一下,Linux下有什么好用的会议软件么? 知道的朋友烦请评论告知,感谢 00.简介 Gradle 是一种开源自动化构建工具,支持多语言环境,受 Ant.Maven 思想的影响,集二者之大成,相比 Ant 的不规范,Maven 的配置复杂.生命周期限制严重,Gradle 既规范也更灵活,可以使用DSL (领域特定语言,如Groovy 或 Kotlin)编写构建脚…
本文转载来自:http://www.jianshu.com/p/9df3c3b6067a 为什么需要学Gradle? Gradle 是 Android 现在主流的编译工具,虽然在Gradle 出现之前和之后都有对应更快的编译工具出现,但是 Gradle 的优势就在于它是亲儿子,Gradle 确实比较慢,这和它的编译过程有关,但是现在的Gradle 编译速度已经有了成倍提高.除此之外,相对其他编译工具,最重要的,他和 Android Studio 的关系非常紧密,可以说对于一些简单的程序我们几乎不…
为什么需要学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,当编译我的源文件…
1.Gradle安装 官网下载压缩包,然后解压,配置本地环境变量.主要有下面两个: GRADLE_HOME 是解压后的目录, GRADLE_USER_HOME 的作用是让其他程序检测到本地.gradle文件夹的位置, 再把 %GRADLE_HOME%\bin 追加到 Path 环境变量中. 然后在D:\.gradle目录下新建init.gradle文件,使用记事本打开粘贴下列代码: allprojects{ repositories { def REPOSITORY_URL = 'http://…