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 编辑推荐:稀土掘金,这是一个针对技术开发者的一 ...
随机推荐
- ubuntu 12.04 java 环境的配置
首先从官网下载JDK 链接地址: ...sudo gedit ~/.bashrc #Java Pathexport JAVA_HOME=/home/pan60157/java/jdk1.6.0_45e ...
- python 版 mldivide matlab 反除(左除)《数学建模算法与程序》Python笔记
今天在阅读数学建模的时候看到了差分那章 其中有一个用matlab求线性的代码,这里我贴出来 这里我送上 Python代码 In [39]: import numpy as np ...: from s ...
- 抛弃msvcrtXX库
对于极致要求体积的程序来说.抛弃Msvcrt里的函数是必要的.(尤其是msvcrtXX库)因为要使用mscvrt中的函数,就需要带上相对来 说,不能容忍的几kb的,vcrt初始化函数,包围在我们的Wi ...
- react-native start 运行流程
在CMD下键入 C:\Node_JS\MyAwesomeProject>react-native start 运行流程: C:\Users\Grart\AppData\Roaming\npm\r ...
- 【初级】linux cp 命令详解及使用方法实战
cp:复制文件或者目录 前言: cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不 ...
- Python学习之路
从今天开始学习Python,没有什么特殊的目的,只是觉得这门语言比较有意思,既然现在可能也不会用到,那就直接从Python3学起吧! 本人开始学习时,还是喜欢听别人讲,于是又找到了小甲鱼的<零基 ...
- 灰常好的开源项目[c/c++]
ClibPDF http://cosoft.net.cn http://www2s.biglobe.ne.jp/~Nori/ruby/dist/ClibPDF-ALPHA-20010519.tar.g ...
- 通过js对cookie的使用手册
一般大多数人还是用引用JQuary API——jquery.cookie.js,来操作cookie.这是一种很不错的方式,我也支持这样的做法. 但是有时候我们只需要一种极为轻量级的代码来实现简单的功能 ...
- atexit函数
使用该函数注册的退出函数是在进程正常退出时,才会被调用.这里强调是进程正常退出,使用exit退出或使用main中最后的return语句退出.但如果是因为收到信号signal而导致程序退出,如kill ...
- 线程的Abort方法有感
今天看CSDN上一个很老的帖子,有个人说Thread.Abort()方法调用之后一定会抛出异常,我对这个有点疑问. 于是自己做了一个测试demo,来研究Abort抛出异常的时机.废话少说,直接上代码: ...