Gradle使用的简单了解
Gradle 认识
参考博客:http://www.enjoytoday.cn/categorys/Gradle
gradle是一个用于构建工程的工程配置脚本,它可以很便捷的帮助我们构建管理工程结构,使得我们的工程结构根据可读、可维护性。由于gradle的核心是Groovy,所以gradle的主战场在对于java项目的构建。接下来,我就简单就gradle在构建android项目做一个介绍。
目前,android开发大多已经转移到Android studio开发工具开发上来了,而android studio则是通过gradle构建的工程管理,android studio将模块分为两大类别,一个是project,一个是module,project 用于管理子工程的基本gradle属性,如gradle的脚本版本、仓库类型、自定义仓库地址、和一些子module通用配置,可以自由发挥。同时project也负责将真正需要构建的源码工程配置导入进来,其主要配置在setttings.gradle中完成,子module则是通过子moudle导入的主目录下build.gradle配置基本结构信息和依赖信息进行管理,整个结构相对比较简单,结构如下所示:
project-
-build.gradle #project 基本gradle配置,如版本信息、仓库类型等
-settings.gradle #子工程配置脚本,指定子工程位置
-build #编译输出
-.gradle #编译配置相关
-gradle #编译配置相关
-gradle.properties #编译配置相关
-local.properties #配置基本编译参数,SDK,NDK等
-gradlew #编译环境搭建
-gradlew.bat #编译环境搭建
-moudle-- #子工程
--build.gradle #编译配置脚本,主要的工程编译控制脚本
--build #编译输出
--...
主要结构就是这些,对于我们开发者而言其实只需要关注三个文件就可以了:
1)project .build.gradle:控制gradle编译版本可依赖仓库配置,常见的模式如下:
buildscript { //配置编译脚本依赖版本,采用的是gradle wrapper
repositories {
jcenter() //配置依赖库路径(构建脚本或者其他共用资源依赖库版本),
//android studio默认使用的是jcenter库,一个maven库,你自己也可以指定仓库地址
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3' //gradle版本
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects { //子工程通用配置
repositories {
mavenCentral() //依赖配置,采用的是maven中央仓库,可以指定
}
}
task clean(type: Delete) { //clean 任务,清除更新之前的配置输出.
delete rootProject.buildDir
}
2)project.settings.gradle:控制子module构建
include ':app', 'app2' //导入子module,默认子module在project主目录下,module名为目录名,也可自定义module地址
//如下,配置自定义路径moudule
include(':test)
project(':test').projectDir = new File('moudleRoot/test') //和java用法类似,指定file.
3)project.module.build.gradle:module工程管理脚本,包括基本的依赖、编译模块控制等,这是核心。
apply plugin: 'com.android.application' //导入插件
android { //android基本配置模块
compileSdkVersion 25 //sdk编译版本
buildToolsVersion "25.0.2" //编译工具版本(aapt之类)
defaultConfig { //默认配置,如applicationId、versionCode、versionName等通用配置。
applicationId "www.enjoytoday.cn"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" //junit测试,可以选择要或者不要
}
buildTypes { //编译类型,默认两种编译类型,debug和release区别版本信息,可在各个版本类型中作区别配置
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug{
..........
}
}
//版本控制,一般用于多渠道打包
productFlavors{
umeng{
}
baidu{
}
}
sourceSets{ //目录结构配置,注意除了manifest位string外,其他的均为list类型,可配置多个源
main{
java.srcDirs ['src/main/java']
res.srcDirs ['src/man/res']
aidl.srcDirs ['src/main/java']
renderscript.srcDirs = ['src/main/java']
assets.srcDirs = ['src/main/assets']
jniLibs.srcDirs = ['libs'] //需要添加so依赖时,需要指定的so路径
manifest.srcFile 'AndroidManifest.xml'
}
}
}
repositories { //添加一个本地仓库,指定aar路径,也可以在project的build.gradle中指定
flatDir {
dirs 'libs'
}
}
dependencies { //工程依赖库
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':pushlibs')
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile (name:'XXXXXXX', ext:'aar') //添加一个aar依赖
}
如上就是andorid工程相关的gradle的一个基本知识的介绍,详细使用待续…
Gradle使用的简单了解的更多相关文章
- 构建工具Gradle安装和简单使用
1. 安装 到gradle官网下载页 https://gradle.org/gradle-download/ 下载gradle,其中“完全版(Complete distribution)”包含除了运行 ...
- Spring学习(二)——使用Gradle构建一个简单的Spring MVC Web应用程序
1.新建一个Gradle工程(Project) 在新建工程窗口的左侧中选择 [Gradle],右侧保持默认选择,点击next,模块命名为VelocityDemo. 2.在该工程下新建一个 module ...
- 项目自动化建构工具gradle 入门4——javaWeb在浏览器中显示helloWorld
在java应用中,其实做的最多的还是java web应用.所以现在我们做的就是用gradle构建一个简单的web项目,简单点,直接上代码吧. 1.进入目录D:\work\gradle\web,新建文件 ...
- [转载] 纯手打 第一篇:安装配置gradle
本文转载自: http://www.cnblogs.com/uncle2000/p/4276833.html 一个bug 一个脚印的叫你们用gradle. 1介于网络上的很多资料都是老的 不适用与现在 ...
- 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置
安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...
- Gradle笔记——Gradle的简介与安装
本博客对Gradle进行一个简单的介绍,以及它的安装. Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具 可以切换的,基于约定的构建框架 强大的多 ...
- 深入理解Android之Gradle
深入理解Android之Gradle 格式更加精美的PDF版请到:http://vdisk.weibo.com/s/z68f8l0xTYrZt 下载 Gradle是当前非常"劲爆" ...
- gradle教程 [原创](eclipse/ADT下 非插件 非Android Studio/AS)纯手打 第一篇:安装配置gradle
一个bug 一个脚印的叫你们用gradle. 1介于网络上的很多资料都是老的 不适用与现在的新版本gradle 尤其是有些gradle方法改名了老的用不了 2介于网上都是粘贴复制并且零碎我很蛋疼啊,走 ...
- 使用gradle构建java项目
gradle是什么东东 gradle是继ant,maven之后另外一种的面向java的自动化项目构建工具,他是基于groovy语言的.相对于ant,maven,gradle显得更加简单. 安装grad ...
随机推荐
- 神探Python程序员,带你千里捉小三!(附详情代码)
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 王翔 清风Python PS:如有需要Python学习资料的小伙伴 ...
- Java生鲜电商平台-电商起送价的深入思考与实战
Java生鲜电商平台-电商起送价的深入思考与实战 说明:在生鲜电商中,起送价是一个非常普遍的话题,今天我们就用实战来告诉大家,如何设置起送价,如何编写起送价的代码,以及如何同步起送价. 在开始题目之前 ...
- Python3爬取豆瓣网电影信息
# -*- coding:utf-8 -*- """ 一个简单的Python爬虫, 用于抓取豆瓣电影Top前250的电影的名称 Language: Python3.6 ...
- vue-cli 项目启动过程分析
启动时没有加入路由 先npm run dev 把项目启动起来.看到 这个熟悉的界面. 首先看到: 这是项目的入口文件,一般引用其他的js,也都是在这个文件进行引用的. 渲染的时候,就是对这个id=&q ...
- SQLi-LABS Page-1(Basic Challenges) Less11-Less22
Less-11 GET - Blind - Time based - double quotes http://10.10.202.112/sqli/Less-11/ 尝试登录: username:a ...
- MySQL基础之数据管理【4】
外键约束的使用(只有InnoDB存储引擎支持外键) create table news_cate( id tinyint unsigned auto_increment key comment '编号 ...
- eNSP仿真软件之VLAN基础配置及Access接口
★Access接口是交换机上用来连接用户主机的接口. 实验内容: 实验步骤: (1) 打开仿真软件eNSP,新建拓扑.根据实验内容建立如下实验拓扑图. (2) 按照如下的编址表对每 ...
- mysql使用——sql实现随机取一条数据
最近在做接口测试的时候,测试数据是从数据库查询的,但是当需要并发多次去调用接口时,如果sql只是单纯的进行了limit取值,那并发的时候肯定会每条数据都一样. 因此,研究了下sql随机取一条数据的写法 ...
- express搭建后端请求路由,前端进行访问对应的接口 后端解决跨域
代码在 ==>E:\nodes实战\myserve\testserve 1 express搭建后端请求路由,前端进行访问对应的接口 1) 创建项目目录 express 项目名 -e 然后按照提示 ...
- 201871010107-公海瑜《面向对象程序设计(java)》第一周学习总结
201871010107-公海瑜<面向对象程序设计(java)>第一周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...