gradle使用基础
说明
介绍gradle使用基础,gradle基础脚本结构和常规使用方法,以及一个简单的gradle示例.主要是为了简单的介绍gradle使用。
gradle环境配置
gradle可以通过两种方式运行gradle脚本:一种是通过配置系统gradle环境,运行gradle命令;一是通过gradle warpper配置临时gradle运行环境,通过脚本方式运行gradle命令。两种方式的效果相同,使得gradle的使用的成本更加方便。
1) 系统gradle配置
由于gradle常用于java工程的构建,所以gradle环境的配置需要依赖于java环境,需要先确认是否已经配置java运行环境,可以通过如下命令子啊dos命令框(windows)或者shell命令框(linux)中确认:
#:java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
确认返回的话,
- 手动下载gradle的二进制文件
地址为:https://gradle.org/releases/ 选择binary-only,可以选择你希望安装的版本,版本尽量不要太高3左右即可,放置高版本对于某些插件的适配存在一些绑定性质的配置要求。
文件解压并配置系统环境变量
解压文件不再多说(linux下可通过uzip进行解压),若是linux系统需要将解压后文件的bin目录添加到PATH路径下,可以通过export设置临时配置也可直接在enviroment中添加永久配置,配置如下:
$GRADLE_HOME=/opt/gradle/gradle-3.0 #解压后的gradle路径
export PATH=$PATH:$GRADLE_HOME/bin可以将这两句话添加在~/.bashrc,~/.profile,/etc/profile文件的末尾,然后通过如下命令进行激活:
#source ~/.profilewindows环境的话,通过右键”计算机”——>”属性”———>”系统属性”———>”高级”
———>”环境变量”进入环境变量设置界面。- 新建一个用户变量,变量名:GRADLE_HOME,变量地址指向解压后的gradle的文件的根目录。如:”C:\Program Files\gradle\gradle-3.0”
- 在系统变量path的变量值头部添加”%GRADLE_HOME%\bin;”
2) gradle wrapper临时环境
gradle wrapper一般临时环境一般是通过脚本gradlew或者gradlew.bat(windows)通过命令下载环境依赖/gradle/wrapper/* 文件.
运行gradle时可直接通过将gradle用gradlew或者gradlew.bat替代操作.可通过
如下命令生成gradle wrapper环境,之后可以将该部分文件拷贝到任意一个未安装gradle环境的机器上实现gradle工程管理。
#gradle wrapper #生成wrapper临时gradle环境
简单的gradle 示例
为了方便理解gradle wrapper的使用,本示例通过gradle wrapper搭载gradle环境实现一个简单的hello world输出操作.操作步骤如下所示:
1) 构建gradle wrapper环境
hfcai@:~/root/gradlebasisProject#gradle wrapper
Starting a Gradle Daemon (subsequent builds will be faster)
:wrapper
BUILD SUCCESSFUL
Total time: 6.409 secs
hfcai@:~/root/gradlebasisProject# ll
总用量 28
drwxrwxr-x 4 caihaifei caihaifei 4096 7月 3 13:52 ./
drwxrwxr-x 11 caihaifei caihaifei 4096 7月 3 13:51 ../
drwxrwxr-x 3 caihaifei caihaifei 4096 7月 3 13:52 gradle/
drwxrwxr-x 3 caihaifei caihaifei 4096 7月 3 13:52 .gradle/
-rwxrwxr-x 1 caihaifei caihaifei 5242 7月 3 13:52 gradlew*
-rw-rw-r-- 1 caihaifei caihaifei 2260 7月 3 13:52 gradlew.bat
如上,完成wrapper环境搭建,之后管理工程可不用提交“gradle/”文件夹,直接通过”./gradlew wrapper”重新创建。
2) 创建build.gradle脚本
build.gradle脚本是默认运行的构建脚本,用于配置和编译工程。这里,我们只是简单的演示一下gradle的使用,根目录创建文件build.gradle,写入如下代码:
task sayHello << {
println "Hello World!"
}
project.afterEvaluate {
println "config project parameters over."
}
如上,task 为gradle最小的运行单元,上面代码创建了一个sayHello的task,project.afterEvaluate为当前工程配置完成的一个回调,上面所有代码均采用groovy闭包(Closure)的形式进行表达,如想要详细了解,需要了解基础的groovy语法(或会单独就此做一篇介绍)。通过如下命令运行task达到配置的最终结果:
hfcai@:~/root/gradlebasisProject# ./gradlew sayHello
config project parameters over.
:sayHello
Hello World!
BUILD SUCCESSFUL
Total time: 0.552 secs
参考代码:https://github.com/fishly/gradleProject/tree/master/gradlebasisProject
gradle使用基础的更多相关文章
- Gradle语法基础解析
在从ADT转移到AndroidStudio下开发,必然会遇到Gradle脚本打包的问题.看懂一个脚本最基本的前提就是了解它的语法,我在转移开发环境的过程中,也开始接触学习Gradle,在此做了一些总结 ...
- Gradle Groovy 基础语法 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 从头开始学gradle【Gradle 构建基础】
构建基础 Project 和 task:projects 和 tasks是 Gradle 中最重要的两个概念. 任何一个 Gradle 构建都是由一个或多个 projects 组成.每个 projec ...
- Gradle+Groovy基础篇
在Java项目中,有两个主要的构建系统:Gradle和Maven.构建系统主要管理潜在的复杂依赖关系并正确编译项目.还可以将已编译的项目以及所有资源和源文件打包到.war或.jar文件中.对于简单的构 ...
- Gradle脚本基础全攻略
http://blog.csdn.net/yanbober/article/details/49314255
- Android studio:Groovy 与 Gradle 基础【三】
转载:http://www.apkbus.com/forum.php?mod=viewthread&tid=255064&extra=page%3D2%26filter%3Dautho ...
- Android Studio系列教程四--Gradle基础
Android Studio系列教程四--Gradle基础 2014 年 12 月 18 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://stormzhang ...
- 【转】Android Studio安装配置学习教程指南 Gradle基础--不错
原文网址:http://www.linuxidc.com/Linux/2015-02/113890p4.htm 其实很早之前也写了一篇Gradle的基础博客,但是时间很久了,现在Gradle已经更新了 ...
- Gradle中的buildScript,gradle wrapper,dependencies等一些基础知识
就想收藏一篇好文,哈哈,无他 Gradle中的buildScript代码块 - 黄博文 然后记录一些gradle的基础知识: 1.gradle wrapper就是对gradle的封装,可以理解为项目内 ...
随机推荐
- 使用laravel-amdin调用文件上传阿里oss注意点
开发者工作中,项目代码开发提高效率,往往会使用一些github上面的一些扩展类,这里举例说明一下遇到的情况. 一.使用laravel-admin框架开发管理后台文件或者图片上传 情景:运营或者产品通过 ...
- linux脚本判断当前的linux版本是6还是7
#!/bin/sh version="release 7." release=$(cat /etc/redhat-release) echo $release result=$(e ...
- jQuery基础之表单验证
在使用jquery-validate.js插件时可以做一些初始化配置在初始化jquery-validate.js对象的时候,将外部的一些配置和该插件内部的一些默认配置合并在一起,如果有相同的配置,前者 ...
- 父子间的通信,以及ref
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- Flutter中通过https post Json接收Json
Flutter 已然成为炙手可热前端框架.若问跨平台到底有多香,自然是要多香有多香.今天我就分享这些天研究Flutter http连接和json格式转换的内容,小弟对Flutter也是小白一名,如有错 ...
- 005.MongoDB索引及聚合
一 MongoDB 索引 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录. 这种扫描全集合的查询效率是非常低的,特别在处 ...
- STL 中 list 的使用
list 容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任一位置的元素进行插入.删除和查找都是极快速的.由于list对象的节点并不要求在一段连续的内存中, ...
- ASP.NET CORE HOW TO ADD "ACCESS-CONTROL-EXPOSE-HEADERS" HEADERS?
services.AddCors(options => { options.AddPolicy("AnotherPolicy" ...
- 大话设计模式Python实现- 享元模式
享元模式(Flyweight Pattern):运用共享技术有效地支持大量细粒度的对象. 下面是一个享元模式的demo: #!/usr/bin/env python # -*- coding:utf- ...
- Unity Package包内插件解锁
起因: 新版的Unity将模块工具与游戏中的资源文件分开放置,但有一个问题,里边的插件都是只读的,无法添加内容,连创建都是灰色的orz: 要想给这些插件添加一些别的自定义功能,那基本等于做梦,而且插件 ...