转自:https://github.com/stormzhang

工程目录下建立baseConfig.gradle文件

内容如下

ext {

    android = [compileSdkVersion: 23,
buildToolsVersion: "23.0.2",
applicationId : "me.storm.ninegag",
minSdkVersion : 14,
targetSdkVersion : 22,
versionCode : 2,
versionName : "1.1.0"] dependencies = ["support-v4" : 'com.android.support:support-v4:23.1.1',
"appcompat-v7" : 'com.android.support:appcompat-v7:23.1.1',
"design" : 'com.android.support:design:23.1.1',
"cardview-v7" : 'com.android.support:cardview-v7:23.1.1',
"recyclerview-v7" : 'com.android.support:recyclerview-v7:23.1.1',
"multidex" : "com.android.support:multidex:1.0.+",
"butterknife" : 'com.jakewharton:butterknife:7.0.1',
"volley" : 'com.mcxiaoke.volley:library:1.0.19',
"okhttp" : 'com.squareup.okhttp:okhttp:2.7.0',
"okhttp-urlconnection" : 'com.squareup.okhttp:okhttp-urlconnection:2.7.0',
"leakcanary" : 'com.squareup.leakcanary:leakcanary-android:1.3.1',
"glide" : 'com.github.bumptech.glide:glide:3.6.1',
"glide-okhttp-integration" : 'com.github.bumptech.glide:okhttp-integration:1.3.1',
"foldable-layout" : 'com.alexvasilkov:foldable-layout:1.0.1',
"etsy-grid" : 'com.etsy.android.grid:library:1.0.5']

在工程的build.gradle文件首行设置从哪个gradle文件继承配置(apply from: "config.gradle")

然后在module的build.gradle文件中就可以引用根中的配置了

compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
    defaultConfig {
applicationId rootProject.ext.android.applicationId
minSdkVersion rootProject.ext.android.minSdkVersion
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
}

dependencies的配置如下所示:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
compile project(':extras:ShimmerAndroid')
compile rootProject.ext.dependencies["support-v4"]
compile rootProject.ext.dependencies["foldable-layout"]
compile rootProject.ext.dependencies["etsy-grid"]
}

这样如果v4包升级,或者编译版本要提高,只用改动一处即可

android gradle的全局管理的更多相关文章

  1. Android Gradle统一依赖管理

    目的: 避免在依赖包出新版本时,需要对每个module中的build.gradle文件都进行修改(如appcompat-v7包),使用这种方式即只需一次修改. 方法一 在项目的根目录创建一个gradl ...

  2. 读书笔记--Android Gradle权威指南(上)

    本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...

  3. Android Gradle使用总结

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/77678577 本文出自[赵彦军的博客] 其他 Groovy 使用完全解析 http ...

  4. Android Gradle基于参数化配置实现差异化构建

    一.背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等.这些需 ...

  5. Android Gradle 依赖配置:implementation & api

    背景: Android Gradle plugin 3.0开始(对应Gradle版本 4.1及以上),原有的依赖配置类型compile已经被废弃,开始使用implementation.api和anno ...

  6. Android Studio配置统一管理依赖版本号引用

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo采用的是其中一个方案,其他方案请阅读参考资料<Android Studio中统一管理版本号引用配置> 使用步骤 ...

  7. Android应用的内存管理

    管理应用的内存可以分为两个部分内容: 1. 首先需要理解:How Android Manages App Processes and Memory Allocation? 2. 其次需要考虑:我们设计 ...

  8. Android 统一配置依赖管理

    Android Studio中默认就是使用Gradle来构建管理工程的,当我们在工程构建过程中创建了多个Module时,就可能存在一个问题,那就是每个Module以及Module中一些公用库的依赖存在 ...

  9. Gradle之依赖管理

    Gradle之依赖管理 泡在网上的日子 / 文 发表于2015-01-29 16:12 第8824次阅读 Gradle,Android Studio 2 编辑推荐:稀土掘金,这是一个针对技术开发者的一 ...

随机推荐

  1. CAST()函数

    语法: CAST(expression AS data_type) 参数说明: expression:任何有效的SQServer表达式 AS:用于分割两个参数,在AS之前的是需要处理的数据,在AS之后 ...

  2. mysql 找回密码方法

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...

  3. Jmeter性能测试入门(转)

    出处:http://www.cnblogs.com/by-dream/p/5611555.html Jmeter性能测试步骤 1. 添加线程组之后,先设置这两项: 2. 添加一个http请求 被测的u ...

  4. Single-page app(SPA)

    有哪些值得推荐的一页式网站(Single-page app)? http://pro.weltrade.com/en/ 最近开到一下国外网站,一页到底,感觉很高大上,到底是怎么做出来的呢?技术要点是什 ...

  5. 前端开发week1

    1.前端开发前期相关工具 photoshop:主要学习运用与前端相关工具,了解UI与前端的关联.    axure:原型设计,通过设计原型了解网页基本结构,结合ps对UI有更好的理解.    webs ...

  6. 场景5 Performance Management

    场景5 Performance Management 性能调优(不能重启数据库) 索引 资源管理器 性能优化 统计分析 SQL性能分析 SPM (SQL执行计划管理) 堆表 :数据存储无序 位图索引 ...

  7. 用Mockito mock普通的方法

    上面的例子是很理想化的状态,但是在实际的开发中,我们需要经常调用一些依赖特定环境的函数或者调用同事写的代码,而同事仅提供了接口.这个时候就需要利用Mockito来协助我们完成测试. 当然,你可以选择e ...

  8. 例子:Camera Color Picker Sample (YCbCr->ARGB)

    本例演示了如何从相机preview缓冲区获取YCbCr模块,并且转化为ARGB. 1. 什么是YCbCr y:像素的亮度.以范围从 0 到 255 的字节值形式返回(亮度值始终为正值). cr:像素的 ...

  9. DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。

    DOM操作 --如何添加.移除.移动.复制.创建和查找节点等. (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个 ...

  10. [SHELL] 修改xml的内容

    解析和修改xml用python比较方便,但如果不方便使用python,可以用sed命令简单替换 例如,欲替换下面一行中的端口号的值: <param name="ftpPort" ...