Android Studio 中 Gradle 依赖的统一管理
来源:互联网 发布:商标域名价格 编辑:程序博客网 时间:2024/05/20 08:00
Android Studio 中 Gradle 依赖的统一管理
原文链接Android Studio 中 Gradle 依赖的统一管理
为什么要对 Gradle 统一管理
在实际项目中,经常会出现一个 Project 中有多个 Module 的情况,如果每个 Module 又同时拥有相同的依赖,比如 v4 包,那么,每次 v4 包升级的时候修改多个 Module 中的 build.gradle 文件,更新其版本都是一件麻烦的事情,而且很有可能忘记某个 Module。所以,将依赖进行统一管理,对于一个 Project 下拥有多个 Module 的情况来说是非常必要的。
如何管理
假设你的 Project 结构如下:
root --module1 --build.gradle --module2 --build.gradle ... --build.gradle
使用脚本 config.gradle
为了方便管理,可以在根目录下新建 config.gradle 文件
root --module1 --build.gradle --module2 --build.gradle ... --build.gradle --config.gradle
在 config.gradle 中添加如下代码(具体情况根据自己项目来定):
ext { android = [ compileSdkVersion: 23, buildToolsVersion: "24.0.0 rc1", applicationId : "com.sivan.rxretrofitdemo", minSdkVersion : 16, targetSdkVersion : 23, versionCode : 1, versionName : "1.0" ] dependencies = [ "appcompat-v7" : "com.android.support:appcompat-v7:23.3.0", "rxjava" : "io.reactivex:rxjava:1.1.3", "rxandroid" : "io.reactivex:rxandroid:1.1.0", "retrofit" : "com.squareup.retrofit2:retrofit:2.0.0-beta4", "gson" : "com.google.code.gson:gson:2.6.2", "converter-gson" : "com.squareup.retrofit2:converter-gson:2.0.0-beta4", "adapter-rxjava" : "com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4", "butterknife" : "com.jakewharton:butterknife:7.0.1", "logging-interceptor": "com.squareup.okhttp3:logging-interceptor:3.0.1" ]}
OK,依赖写完了,那如何在项目中使用呢
在 root 目录下的build.gradle 中加上apply from: "config.gradle"
接下来就剩下最后一步了,在需要添加依赖的 Module 中使用
- android 节点的使用
android { 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']) compile rootProject.ext.dependencies["appcompat-v7"] compile rootProject.ext.dependencies["rxjava"] compile rootProject.ext.dependencies["rxandroid"] compile rootProject.ext.dependencies["gson"] compile rootProject.ext.dependencies["converter-gson"] compile rootProject.ext.dependencies["adapter-rxjava"] compile rootProject.ext.dependencies["retrofit"] compile rootProject.ext.dependencies["butterknife"]}
以后再对依赖包升级的时候直接修改 config.gradle 文件就 OK 了
使用配置文件 gradle.properties
对依赖进行统一管理的另一种方法是使用配置文件 gradle.properties(通常 IDE 会自动生成此文件),在此文件中添加键值对:
LOGGING_INTERCEPTOR=com.squareup.okhttp3:logging-interceptor:3.0.1CARD_VIEW=com.android.support:cardview-v7:23.3.0
在 Module 的 build.gradle 中使用:
dependencies { compile LOGGING_INTERCEPTOR compile CARD_VIEW}
So easy!
阅读全文
0 0
- Android Studio 中 Gradle 依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- Gradle依赖的统一管理
- GRADLE依赖的统一管理
- GRADLE依赖的统一管理
- GRADLE依赖的统一管理
- GRADLE依赖的统一管理
- 安卓Studio学习笔记---Gradle依赖库的统一管理
- Android studio依赖包统一管理
- Android studio 统一管理依赖版本号
- hdu 6158 The Designer && 计蒜客 Finding the Radius for an Inserted Circle 笛卡尔定理应用
- Qt:音乐播放器
- route-policy与filter-policy的区别
- springboot数据源切换
- 布料模拟碰撞检测的实施总结
- Android Studio 中 Gradle 依赖的统一管理
- Docker安装初体验(Windows)
- 简单递推
- Java中的内存划分
- vue学习第14天,混合mixin
- spidev
- 网络连接判断
- [Linux] 记录一次出来inode告警问题
- 工作中使用过的sql