android gradle的全局管理
转自: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的全局管理的更多相关文章
- Android Gradle统一依赖管理
		
目的: 避免在依赖包出新版本时,需要对每个module中的build.gradle文件都进行修改(如appcompat-v7包),使用这种方式即只需一次修改. 方法一 在项目的根目录创建一个gradl ...
 - 读书笔记--Android Gradle权威指南(上)
		
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...
 - Android Gradle使用总结
		
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/77678577 本文出自[赵彦军的博客] 其他 Groovy 使用完全解析 http ...
 - Android Gradle基于参数化配置实现差异化构建
		
一.背景: 项目中有一些特殊的需求,如个别渠道集成腾讯bugly,个别渠道集成易观统计,不同的渠道集成不同的推送策略(如Oppo渠道优先Opush推送),不同的渠道拥有不同的第三方登录集成等等.这些需 ...
 - Android Gradle 依赖配置:implementation & api
		
背景: Android Gradle plugin 3.0开始(对应Gradle版本 4.1及以上),原有的依赖配置类型compile已经被废弃,开始使用implementation.api和anno ...
 - Android Studio配置统一管理依赖版本号引用
		
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo采用的是其中一个方案,其他方案请阅读参考资料<Android Studio中统一管理版本号引用配置> 使用步骤 ...
 - Android应用的内存管理
		
管理应用的内存可以分为两个部分内容: 1. 首先需要理解:How Android Manages App Processes and Memory Allocation? 2. 其次需要考虑:我们设计 ...
 - Android 统一配置依赖管理
		
Android Studio中默认就是使用Gradle来构建管理工程的,当我们在工程构建过程中创建了多个Module时,就可能存在一个问题,那就是每个Module以及Module中一些公用库的依赖存在 ...
 - Gradle之依赖管理
		
Gradle之依赖管理 泡在网上的日子 / 文 发表于2015-01-29 16:12 第8824次阅读 Gradle,Android Studio 2 编辑推荐:稀土掘金,这是一个针对技术开发者的一 ...
 
随机推荐
- 将 Tor socks 转换成 http 代理
			
你可以通过不同的 Tor 工具来使用 Tor 服务,如 Tor 浏览器.Foxyproxy 和其它东西,像 wget 和 aria2 这样的下载管理器不能直接使用 Tor socks 开始匿名下载,因 ...
 - pthreads 2.0.10 test
			
CentOS 6.3 cd /root mkdir pthreads //get php-5.6 and install zts version wget cn2.php.net/get/php-5. ...
 - .NET程序的简单编译原理
			
1.不管是什么程序,最终的执行官是CPU,而CPU只认识1和0的机器码. 2.我们现在写的一般是高级语言写的程序.CPU是不认识我们用高级语言写的源代码的,那应该怎么办才能让CPU执行我们写好的程序尼 ...
 - 解决php文件乱码
			
header ( "Content-Type:text/html;charset=utf-8" );//定义文件为UTF-8编码
 - CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程
			
Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...
 - CALayer anchorPoint 锚点始终为(0,0)
			
objc.io 学习 摘自原处修改 对层的属性详细了解可见这里 @interface ClockFace : CAShapeLayer@property (nonatomic, strong) NSD ...
 - redis缓存技术学习
			
1 什么是redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串). list(链表).set(集合)和zset ...
 - SharePoint SC "Audit Settings"功能与CSOM的对应
			
博客地址:http://blog.csdn.net/FoxDave SharePoint网站集中有个关于审计的功能:"Site collection audit settings&quo ...
 - HeadFirst 设计模式
			
一.设计原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松紧耦合设计而努力 对扩展开放,都修稿关闭 依赖抽象,不要依赖具体类 最少知识原则:之和朋友交谈 好莱坞原则: ...
 - Activity 生命周期
			
Activity 的四种基本状态 1.运行态(Running) Activity 处于屏幕最前端,用户可见且获得焦点. 2.暂停态(Paused) Activity被置于后台,用户可见,但失去焦点 3 ...