Gradle简单来说,就是工程的管理,帮我们做了依赖,打包,部署,发布等工作。就像一个管家管理我们的项目,我们只用关心写代码就可以了。

1 gradle-wraaper.properties

主工程的gradle-wraaper.properties文件 ,用于配置Gradle版本

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

其中distributionUrl就是下载Gradle的路径,下载完成后存放路径:

导入项目时,注意本地常用的gradle和新项目的gradle是否一致。如果不一致,会去重新下载gradle文件,并重新构建,时间可长可短。

可把本地gradle-wraaper.properties文件替换至新项目,用本地常用gradle构建新项目,省去下载不同版本gradle。

2 主工程build.gradle(Project)

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
}

buildscript声明的是gradle脚本自身需要使用的资源。

repositories仓库,jcenter()、maven()和google()就是托管第三方插件的平台

dependencies配置的是gradle需要的插件版本

这一次彻底弄明白Gradle相关配置:https://mp.weixin.qq.com/s/1UHcYOudViMhpUYeREZzGA

一 . Gradle基础:https://segmentfault.com/a/1190000002439306

module下的gradle文件:

// 声明是Android程序
apply plugin: 'com.android.application' android {
// 编译SDK的版本
compileSdkVersion 21
// build tools的版本
buildToolsVersion "21.1.1" defaultConfig {
// 应用的包名
applicationId "me.storm.ninegag"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0.0"
} // java版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
} buildTypes {
release {
// 是否进行混淆
minifyEnabled false
// 混淆文件的位置
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
} // 移除lint检查的error
lintOptions {
abortOnError false
}
} dependencies {
// 编译libs目录下的所有jar包
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:21.0.2'
compile 'com.etsy.android.grid:library:1.0.5'
compile 'com.alexvasilkov:foldable-layout:1.0.1'
// 编译extras目录下的ShimmerAndroid模块
compile project(':extras:ShimmerAndroid')
}

Gradle 详解的更多相关文章

  1. Gradle详解

    一.脚本文件(build.gradle)  项目与脚本文件 当我们执行gradle命令的时候,Gradle会在你执行命令的目录下寻找一个名为build.gradle的文件,这个文件就是Gradle的脚 ...

  2. build.gradle 详解(一)

    简述: 1) Java 开发中有两个大名鼎鼎的项目构建 ANT.Maven. 2) Google 推荐使用的 Android studio 是采用 Gradle 来构建项目.Gradle 是一个非常先 ...

  3. Gradle详解+Groovy

    http://blog.csdn.net/u014761700/article/details/51867939

  4. Android Gradle 自定义Task 详解

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76408024 本文出自[赵彦军的博客] 一:Gradle 是什么 Gradle是一 ...

  5. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

  6. 安卓集成发布详解(二)gradle

    转自:http://frank-zhu.github.io/android/2015/06/15/android-release_app_build_gradle/ 安卓集成发布详解(二) 15 Ju ...

  7. Android Gradle manifestPlaceholders 占位符详解

    Android Gradle manifestPlaceholders 占位符详解 在实际项目中,AndroidManifest里十几个地方的值是需要动态的改变(生成apk文件的时候).如果每次去改也 ...

  8. Android学习之基础知识二(build.gradle文件详解)

    一.详解build.gradle文件 1.Android Studio是采用Gradle来创建项目的,Gradle是非常先进的构建的项目的工具,基于Groovy领域特定的语言(DSL)来声明项目配置, ...

  9. Android Studio gradle配置详解

    android gradle配置详解 AppExtension类及其属性 可能大部分人看到AppExtension类会感觉到非常的陌生,其实我们在app中的build.gradle中填写配置信息的时候 ...

随机推荐

  1. 洛谷 P1484 种树(优先队列,贪心,链表)

    传送门 解题思路 第一眼的贪心策略:每次都选最大的. 但是——不正确! 因为选了第i个树,第i-1和i-1棵树就不能选了.所以,要有一个反悔操作. 选了第i个后,我们就把a[i]的值更新为a[l[i] ...

  2. mui前端框架下拉刷新分页加载数据

    前台 mui.init(); (function($) { //阻尼系数 var deceleration = mui.os.ios?0.003:0.0009; $('.mui-scroll-wrap ...

  3. Springboot+Jedis+Ehcache整合

    项目结构概览: 1. 导包 <parent> <groupId>org.springframework.boot</groupId> <artifactId& ...

  4. C#设计模式:备忘录模式(Memento Pattern)

    一,C#设计模式:备忘录模式(Memento Pattern) 1.发起人角色(Originator):记录当前时刻的内部状态,负责创建和恢复备忘录数据.负责创建一个备忘录Memento,用以记录当前 ...

  5. python 二分法实现

    # -*- coding: utf-8 -*- def BinarySearch(arr, key): # 记录数组的最高位和最低位 min = 0 max = len(arr) - 1 if key ...

  6. Tomcat启动慢的原因及解决方法

    Tomcat启动慢的原因及解决方法 在CentOS启动Tomcat时,启动过程很慢,需要几分钟,经过查看日志,发现耗时在这里:是session引起的随机数问题导致的.Tocmat的Session ID ...

  7. socket参数的详解

    socket参数的详解 socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None) 创建socket对象的参数说明: fami ...

  8. JavaScript设计模式 样例三 —— 装饰模式

    装饰模式(Decorator Pattern): 定义:在不改变原对象的情况下,动态的给对象添加一些额外的职责.就功能而言,装饰模式相比生成子类更为灵活. 目的:把类的核心职责和装饰功能区分开.可以去 ...

  9. libboost_regex 备份用时

    libboost_regex-vc100-mt-s-1_57.lib  //生成数据

  10. JavaScript秒针转换00:00:00代码

    var str  = realFormatSecond(e.target.currentTime);   console.log(e.target.scrollTop); //1255256252 c ...